#include #define int ll using namespace std; #define rep(i,n) for(int i=0;i=0;i--) #define rng(i,c,n) for(int i=c;i #define _4ab8goq ios::sync_with_stdio(0),cin.tie(0); typedef long long ll; typedef vector vi; typedef pair pii; void print(){cout<<'\n';} template void print(const h&v,const t&...u){cout<>n>>m; vec(array) a(n); rep(i,n){ rep(j,3){ cin>>a[i][j]; } } vi dp(m+1); per(i,n){ vi ndp(m+1); vi fdp(m+1); rep(j,m+1){ fdp[j]=max(fdp[j],dp[j]); int d=a[i][0]-a[i][1]; if(j-d>=0){ fdp[j]=max(fdp[j],fdp[j-d]+a[i][2]*a[i][1]); } ndp[j]=max(ndp[j],dp[j]); if(j-a[i][0]>=0){ // if(!i and j==5){ // print(fdp[j-a[i][0]]); // } ndp[j]=max(ndp[j],fdp[j-a[i][0]]+a[i][2]*a[i][1]); } } dp.swap(ndp); } rng(i,1,m+1){ cout<