#include<iostream>
using namespace std;
int n,m,f[1005],i,j,k,v,w,s;
int main()
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
scanf("%d%d%d",&v,&w,&s);
if(!s)for(j=v;j<=m;j++)f[j]=max(f[j],f[j-v]+w);
else{
if(s==-1)s=1;
for(k=1;k<=s;k*=2){
for(j=m;j>=k*v;j--)f[j]=max(f[j],f[j-k*v]+k*w);
s-=k;
}
if(s)for(j=m;j>=s*v;j--)f[j]=max(f[j],f[j-s*v]+s*w);
}
}
printf("%d\n",f[m]);
return 0;
}