#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF){
		int w[5500],v[5500];
		int dp[6500]={0};
		int size=0;
		while(n--){
			int tw,tv,k,c=1;
			scanf("%d%d%d",&tw,&tv,&k);
			while(k-c>0){
				k-=c;
				w[size]=c*tw;
				v[size++]=c*tv;
				c*=2;
			}
			w[size]=k*tw;
			v[size++]=k*tv;
		}
		
		int i,j;
		for(i=0;i<size;i++){
			for(j=m;j>=w[i];j--){
				dp[j]=dp[j]>(dp[j-w[i]]+v[i])?
				dp[j]:(dp[j-w[i]]+v[i]);
			}
		}
		printf("%d\n",dp[m]); 
	}
	return 0;
}
/**************************************************************
	Problem: 2077
	User: admin
	Language: C
	Result: Accepted
	Time:67 ms
	Memory:1144 kb
****************************************************************/