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