#include<iostream>
#include<cassert>
using namespace std;
int N,M;
long dp[5050],ep[5050];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>N>>M;
	for(int i=0;i<N;i++)
	{
		int A,B,C;
		cin>>A>>B>>C;
		long add=(long)B*C;
		for(int j=0;j<=M;j++)
		{
			ep[j]=-1e18;
			if(j>=A)ep[j]=dp[j-A]+add;
			if(j>=A-B)ep[j]=max(ep[j],ep[j-(A-B)]+add);
		}
		for(int j=0;j<=M;j++)dp[j]=max(dp[j],ep[j]);
	}
	for(int p=1;p<=M;p++)cout<<dp[p]<<"\n";
}