#include<bits/stdc++.h>
using namespace std;
long long N,V,v[100001],w[100001],k=1,vi,wi,si,dp[10001][101];
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: Accepted
Time:57 ms
Memory:11528 kb
****************************************************************/