#include<bits/stdc++.h>
using namespace std;
const int N=2e3+10;
int n,m;
int dp[N];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
int a,b,c,max_num=0;
vector<int> v[N],w[N];
for(int i=1;i<=n;i++){
cin>>a>>b>>c;
w[c].push_back(a);
v[c].push_back(b);
max_num=max(max_num,c);
}
for(int i=1;i<=max_num;i++){
for(int j=m;j>=0;j--){
for(int k=0;k<v[i].size();k++){
if(w[i][k]<=j) dp[j]=max(dp[j],dp[j-w[i][k]]+v[i][k]);
}
}
}
cout<<dp[m]<<endl;
return 0;
}

京公网安备 11010502036488号