#include<iostream>
using namespace std;
const int N=20000,M=200;
int n,m;
int v[N][M],w[N][M],ans[M],maxx;
int f[N];
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
int a,b,s;
cin>>a>>b>>s;
if(maxx<s)maxx=s;
int q=++ans[s];
v[q][s]=a;
w[q][s]=b;
}
for(int i=1;i<=maxx;i++)
for(int j=m;j>=0;j--)
for(int k=1;k<=ans[i];k++)
if (v[i][k]<=j)
f[j]=max(f[j],f[j-v[i][k]]+w[i][k]);
cout<<f[m]<<endl;
}