program skyline; var a,b,aa,bb,c:array[1..2000]of longint; f:array[0..500]of longint; n,v,i,j,k,n1,n2,m,w,s:longint; begin assign(input,'hallows.in');reset(input); assign(output,'hallows.out');rewrite(output); readln(n,v); for i:=1 to n do begin readln(m,w,s); if m*w=a[i]*k)and(f[j-a[i]*k]+b[i]*k>f[j]) then f[j]:=f[j-a[i]*k]+b[i]*k; for i:=1 to n2 do for j:=aa[i] to v do if f[j-aa[i]]+bb[i]>f[j] then f[j]:=f[j-aa[i]]+bb[i]; writeln(f[v]); close(input);close(output); end.