#include<iostream>
using namespace std;
const int N=1010;
int n,v;
int V[N],w[N],f[N][N];
int main()
{
cin>>n>>v;
for(int i=1;i<=n;i++)cin>>V[i]>>w[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=v;j++)
{
f[i][j]=f[i-1][j];
if(j>=V[i])
f[i][j]=max(f[i][j],f[i-1][j-V[i]]+w[i]);
}
int res=0;
for(int i=1;i<=v;i++)res=max(res,f[n][i]);
cout<<res;
return 0;
}