#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1010;
int dp[N];
int n,m;
int main(){
cin>>n>>m;
for(int i = 0;i<n;i++)
{
int w,v;
cin>>w>>v;
for(int k = w ; k<=m; k++)
dp[k] = max(dp[k], dp[k - w] + v);
}
cout<<dp[m];
return 0;
}