#include<bits/stdc++.h>
using namespace std;
int N,V,v[100001],w[100001],k=1,vi,wi,si,dp[10001][100]; 
int main(){
//4个商品   背包是10
//体v 价w 数量   dp    0 1 2 3 4 5 6 7 8 9 10 
//3    2           1
//3    2           2
//4    3           3
//4    3           4 
//2    2           5
//5    3           6
//5    3           7
//5    3           8
//5    3           9
	cin>>N>>V;
	for(int i=1;i<=N;i++){
		cin>>vi>>wi>>si;
		 for(int j=1;j<=si;j++){
		 	v[k]=vi;
		 	w[k]=wi;
		 	k++;
		 }
	}
	for(int i=1;i<=k-1;i++){
		for(int j=1;j<=V;j++){
			if(v[i]<=j){
				dp[i][j]=max(w[i]+dp[i-1][j-v[i]],dp[i-1][j]);
			}
			else dp[i][j]=dp[i-1][j];
		}
	}
	cout<<dp[k-1][V];
	
}

/**************************************************************
	Problem: 1888
	User: admin
	Language: C++
	Result: Wrong Answer
****************************************************************/