#include<bits/stdc++.h>
using namespace std;
int n,W,f[400010];
int main()
{
cin>>n>>W;
int v,w,m;
for(int i=1;i<=n;i++)
{
cin>>v>>w>>m;
int d=min(m,W/v);
for(int k=1;k<=d;d-=k,k+=k)
for(int j=W;j>=v*k;j--)f[j]=max(f[j],f[j-v*k]+k*w);
if(d)
for(int j=W;j>=d*v;j--)f[j]=max(f[j],f[j-d*v]+d*w);
}
cout<<f[W];
return 0;
}