#include<bits/stdc++.h>
using namespace std;
const int N=3.2*1e4+5,M=100;
int n,m,p[M],q[M],w[M][N],v[M][N],s[M];
int f[M][N];
bool st[M][N];
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
s[i]=1;
cin>>v[i][1]>>p[i]>>q[i];
w[i][1]=v[i][1]*p[i];
if(q[i]!=0)
{
int z=q[i];
s[z]++;
w[z][s[z]]=w[z][1]+v[i][1]*p[i];
v[z][s[z]]=v[z][1]+v[i][1];
if(s[z]==3)
{
s[z]++;
w[z][s[z]]=w[z][2]+v[i][1]*p[i];
v[z][s[z]]=v[z][2]+v[i][1];
}
}
}
memset(f,sizeof(f),0);
for(int i=1;i<=m;i++)
{
for(int j=0;j<=n;j+=10)
{
if(q[i]==0)
{
for(int k=0;k<=s[i];k++)
{
if(j>=v[i][k])f[i][j]=max(f[i][j],f[i-1][j-v[i][k]]+w[i][k]);
}
}
}
}
cout<<f[m][n]<<endl;
}