#include<bits/stdc++.h>
using namespace std;
int N,V,top,v[6100],w[6100],dp[2002];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
//1906 1889
cin>>N>>V;
for(int i=1,_v,_w,_s;i<=N;i++){
cin>>_v>>_w>>_s;
//_s=min(_s,V/_v);
int s_2=1;
//cout<<"-"<<_v*s_2<<" "<<_w<<" "<<_s<<endl;
while(s_2<=_s){
v[++top]=s_2*_v;
w[top]=s_2*_w;
_s=_s-s_2;
//cout<<_s<<" "<<s_2<<" "<<v[top]<<" "<<w[top]<<'\n';
if(v[top]>V) top--;
s_2<<=1;
}
if(_s>0){
v[++top]=_s*_v;w[top]=_s*_w;
if(v[top]>V) top--;
}
}
for(int i=1;i<=top;i++){
for(int j=V;j>=v[i];j--){
dp[j]=max(dp[j-v[i]]+w[i],dp[j]);
}
}
cout<<dp[V];
return 0;
}
/**************************************************************
Problem: 1889
User: chenxurui
Language: C++
Result: Accepted
Time:68 ms
Memory:2284 kb
****************************************************************/