#include<bits/stdc++.h>
using namespace std;
const int N = 2e4+ 10;
int n , m , v[N] , dp[N] , w[N] , s[N] , k = 1 , vi , wi , si;
int main(){
cin >> n >> m;
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 = m ; j >= v[i] ; j--){
dp[j] = max(dp[j] , dp[j - v[i]] + w[i]);
}
}
cout << dp[m];
return 0;
}
//30 40 50
//20 30 50
//20 25 30
/**************************************************************
Problem: 1888
User: Hawthorne
Language: C++
Result: Accepted
Time:123 ms
Memory:2384 kb
****************************************************************/