#include <iostream>
#include <string.h>
using namespace std;
int dp[10005];
int w[1005],c[1005];
int main(){
int n,v;
cin>>n>>v;
for(int i = 1; i <= n; i++ ){
cin >> c[i] >> w[i];
}
for (int i = 1; i <= n; ++ i)
for (int j = c[i]; j <= v; ++ j)
dp[j] = max(dp[j - c[i]] + w[i], dp[j]);
cout<<dp[v]<<endl;
return 0;
}