#include<bits/stdc++.h>
using namespace std;
int n,m,v[32000],p[32020],vv[32020][3],pp[32020][3],f[32020],cnt[32020];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b,c;
cin>>a>>b>>c;
if(c==0)
{
v[i]=a;
p[i]=a*b;
}
else
{
++cnt[c];
vv[c][cnt[c]]=a;
pp[c][cnt[c]]=a*b;
}
}
for(int i=1;i<=m;i++)
for(int j=n;v[i]&&j>=v[i];j--)
{
f[j]=max(f[j],f[j-v[i]]+p[i]);
if(j-v[i]-vv[i][1])
{
f[j]=max(f[j],f[j-v[i]-vv[i][1]]+p[i]+pp[i][1]);
}
if(j-v[i]-vv[i][2])
{
f[j]=max(f[j],f[j-v[i]-vv[i][2]]+p[i]+pp[i][2]);
}
if(j-v[i]-vv[i][1]-vv[i][2])
{
f[j]=max(f[j],f[j-v[i]-vv[i][1]-vv[i][2]]+p[i]+pp[i][1]+pp[i][2]);
}
}
cout<<f[n];
}