#include<bits/stdc++.h>
using namespace std;
int w[100006],v[100006],N,V,len,vi,si,wi;
int dp[100006];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>N>>V;
	for(int i=1;i<=N;i++){
		cin>>vi>>wi>>si;
		for(int j=1;j<=si;j<<=1){
			v[++len]=vi*j,w[len]=wi*j;
			si-=j;
		}
		if(si){
			v[++len]=vi*si,w[len]=wi*si;
		}
	}
	for(int i=1;i<=len;i++){
		for(int j=V;j>=v[i];j--){
			dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
		}
	}
	cout<<dp[V];
	return 0;
}

/**************************************************************
	Problem: 1889
	User: chenxurui
	Language: C++
	Result: Accepted
	Time:117 ms
	Memory:3400 kb
****************************************************************/