#include<bits/stdc++.h>
using namespace std;
const int N=4e4+1;
int n,h;
long long v[N],w[N],m[N];
long long f[N];
void add(int v,int w)
{
for(int i=h;i>=w;i--)
{
f[i]=max(f[i],f[i-w]+w);
}
return;
}
int main()
{
cin>>n>>h;
for(int i=1;i<=n;i++)
{
cin>>v[i]>>w[i]>>m[i];
}
for(int i=1;i<=n;i++)
{
int p=1;
for(p<=m[i];;p*=2)
{
m[i]-=p;
add(v[i]*p,w[i]*p);
}
if(m[i]!=0)
{
add(v[i]*m[i],w[i]*m[i]);
}
}
cout<<f[h];
return 0;
}