#include<iostream>
using namespace std;
int main(){
int n,m,a[10005],b[10005],dp[10005];
cin>>n>>m;
for(int i = 1;i <= n;i++){
cin>>a[i]>>b[i];
}
for(int i = 1;i <= n;i++){
for(int j = m; j>=1;j--){
if(j>=b[i]){
dp[j] = max(dp[j-b[i]]+a[i],dp[j]);
}
}
}
cout<<dp[m];
return 0;
}