include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
struct team{
int v;
int w;
};
int main(){
int n,vt;
cin>>n>>vt;
team t[1000];
int dp[10000];
for(int i=0;i[HTML_REMOVED]>t[i].v>>t[i].w;
}
for(int i1=0;i1<n;i1++){
dp[i1]=t[i1].w;
}
for(int p=0;p<n;p++){
for(int s=0;s<n;s++){
if(t[p].v+t[s].v<vt){
dp[p]=max(dp[s]+t[p].w,dp[p]);
if(dp[p]==dp[s]+t[p].w)
{
int m=t[p].v;
t[p].v=t[s].v+m;
}
}
}
}
sort(dp,dp+n);
cout<<dp[n-1];
}