#include<iostream>
#include<fstream>
using namespace std;
long f[5100][3],t1[1100],t2[1100],w[1100];
int main()
{
bool pan;
int t, n, i, j, dmax = 0, k, flag,flag1;
cin >> t >> n;
for(i = 1; i <= n; i ++)
cin >> t1[i] >> t2[i] >> w[i];
for(i = t; i >= 1 ; i --)
{
f[i][1] = f[i + 1][1];
f[i][2] = f[i + 1][2];
flag = -1;
flag1 = -999999999;
for(k = 1; k <= 2; k ++)
{
for(j = 1; j <= n ; j ++)
{
if(t1[j] == i && i + t2[j] - t1[j] <= t)
{
pan = (f[i + t2[j] - 1][k] + w[j] > f[i][k]) &&( flag != j || flag1 != w[j]);
if(pan)
{
f[i][k] = f[i + t2[j] - 1][k] + w[j];
flag = j;
flag1 = w[j];
}
}
}
}
if(f[i][1] + f[i][2] > dmax)
{
dmax = f[i][1] + f[i][2];
}
}
cout << dmax << endl;
return 0;
}