#include<iostream>
#include<algorithm>
using namespace std;
const int N = 505, M = 6005;
int p[N],v[N],s[N],f[M]={0};

int main(){
	int n,m;
	cin>>n>>m;
	for (int i=1; i<=n; i++) cin>>p[i]>>v[i]>>s[i];
	for (int i=1; i<=n; i++)
		for (int j=m; j>=0; j--)
			for (int k=0; k<=s[i]; k++)
				if (j-k*p[i]>=0) f[j]=max(f[j],f[j-k*p[i]]+k*v[i]);
	cout<<f[m]<<endl;
	return 0;
}
/**************************************************************
	Problem: 2077
	User: admin
	Language: C++
	Result: Accepted
	Time:73 ms
	Memory:2104 kb
****************************************************************/