#include<stdio.h>
int v[1000],w[1000];
int f[1000];
int max(int x,int y)
{
if(x>y)return x;
return y;
}
int main()
{
int n,i,j,k,V;
scanf("%d%d",&n,&V);
for(i=1;i<=n;i++){
scanf("%d%d",&v[i],&w[i]);
}
for(i=1;i<=n;i++){
for(j=V;j>=v[i];j--){
f[j]=max(f[j],f[j-v[i]]+w[i]);
}
}
printf("%d",f[V]);
}
09-15