#include<iostream> using namespace std; int N,M; int W[3403],D[3403]; int dp[3403]; int main(){ cin>>N>>M; for(int i=1;i<=N;i++) cin>>W[i]>>D[i]; for(int i=1;i<=N;i++) for(int j=M;j>=W[i];j--) dp[j]=max(dp[j],dp[j-W[i]]+D[i]); cout<<dp[M]; }