#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int m,n,i,j,k,s[500],v[500],w[500],f[500][6000];
int main()
{
//其中n代表希望购买的奖品的种数,m表示拨款金额
cin>>n>>m;
memset(f,0,sizeof(f));
for( i=1;i<=n;i++)//奖品的价格、价值和能购买的最大数量其中v≤100,w≤1000,s≤10。
{
cin>>v[i]>>w[i]>>s[i];
}
for(i=1;i<=n;i++){
for(j=m;j>=0;j--){
for(k=0;k<=s[i];k++){
if(j-k*v[i]<0) break;
f[i][j]=max(f[i][j],f[i-1][j-k*v[i]]+k*w[i]);
}}
}
cout<<f[n][m]<<endl;
return 0;
}