#include<bits/stdc++.h>
using namespace std;
int dp[10000];
int main(){
int M,N;
cin>>M>>N;
int W[N],C[N],P[N];
for(int i=0;i<N;i++) cin>>W[i]>>C[i]>>P[i];
for(int i=0;i<N;i++){
for(int j=M;j>=W[i];j--){
if(P[j]>=0){
if(P[j]!=0) dp[j]=max(dp[j-min(j/W[i],P[i])]+C[i]*min(j/W[i],P[i]),dp[j]);
else dp[j]=max(dp[j%W[i]]+C[i]*(j/W[i]),dp[j]);
if(P[i]!=0){
P[i]-=min(j/W[i],P[i]);
if(P[i]==0) P[i]=-1;
}
}
}
}
for(int i=0;i<=M;i++) cout<<dp[i]<<" ";
return 0;
}