#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
****************************************************************/