#include<bits/stdc++.h>
#define N 1001
#define K 101
using namespace std;
struct thing{
int a,b;
};
vector<thing> group[K];
int f[N],m,n,a,b,c,k=0;
int main()
{
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a>>b>>c;
group[c].push_back({a,b});
for(int j=a;j>=a;j--){
f[j]=max(f[j],f[j-a]+b);
}
k=max(k,c);
}
cout<<f[m];
return 0;
}