#include<bits/stdc++.h>
using namespace std;
int dp[20000];
int cnt=1;
int v[20000],w[20000];
int main(){
	int N,V; 
	cin>>N>>V;
	for(int i=1;i<=N;i++){
		int a,b,s; //vi,wi,si
		cin>>a>>b>>s;
		int k=1; 
		while(k<=s){
			v[cnt]=k*a;
			w[cnt++]=k*b;
			s=s-k;
			k=k*2;
		}
		if(s>0){
			v[cnt]=s*a;
			w[cnt++]=s*b;
		}
	}
	for(int i=1;i<=cnt;i++){
		for(int j=V;j>=v[i];j--){
			dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
		}
	}
	cout<<dp[V]; 
}
/**************************************************************
	Problem: 1889
	User: caizhihao
	Language: C++
	Result: Accepted
	Time:163 ms
	Memory:2308 kb
****************************************************************/