#include <iostream>
#include <algorithm>
using namespace std;
int dp[111111];
int p[111],w[111],c[111];
int main()
{
int n;
int w1;
cin>>n>>w1;
for(int i=1;i<=n;i++)
cin>>w[i]>>c[i]>>p[i];
for(int i=1;i<=n;i++)
{
int num=p[i];
for(int k=1;num>0;k<<=1)
{
if(k>num) k=num;
num-=k;
for(int j=w1;j>=c[i]*k;j--)
dp[j]=max(dp[j],dp[j-k*c[i]]+k*w[i]);
}
}
cout<<dp[w1]<<endl;
return 0;
}