#include<stdio.h>
#define max(a,b) (a>b?a:b)
int n,m;
long long f[100000];
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
{
int w,v,s;
scanf("%d %d %d",&w,&v,&s);
for(int j=m;j>=0;j--)
for(int t=1;t*w<=j&&t<=s;t++)
f[j]=max(f[j],f[j-w*t]+v*t);
}
printf("%lld",f[m]);
return 0;
}
/**************************************************************
Problem: 1889
User: admin
Language: C
Result: Accepted
Time:59 ms
Memory:1924 kb
****************************************************************/