#include<iostream>
using namespace std;
int n,w;
struct node{
int val;
int wei;
int num;
}a[1000000];
int dp[100000];
int main(){
cin>>n>>w;
for(int i=0;i<=w;i++) dp[i]=0;
int v,wei,num;
for(int i=1;i<=n;i++){
cin>>v>>wei>>num;
for(int k=1;k<=num;k++)
for(int j=w;j>=wei*k;j--){
dp[j]=max(dp[j],v*k+dp[j-wei*k]);
}
}
cout<<dp[w];
}