#include<bits/stdc++.h>
using namespace std;
struct rbsh
{
int t,f,h;
}r[101];
int dp[101][101];
bool cmp(rbsh a,rbsh b)
{
return a.t<b.t;
}
int main()
{
int d,g;
cin>>d>>g;
for(int i=1;i<=g;i++)cin>>r[i].t>>r[i].f>>r[i].h;
sort(r+1,r+g+1,cmp);
for(int i=0;i<=d+25;i++)dp[0][i]=10;
for(int i=1;i<=g;i++)
{
for(int j=0;j<=d+25;j++)
{
if(dp[i-1][j]-(r[i].t-r[i-1].t)>0)
{
dp[i][j]=max(dp[i][j],dp[i-1][j]+r[i].f-(r[i].t-r[i-1].t));
dp[i][j]=max(dp[i][j],dp[i-1][j-r[i].h]-(r[i].t-r[i-1].t));
if(j>=d)
{
cout<<r[i].t;
return 0;
}
}
}
}
int ans=10;
for(int i=1;i<=g;i++)ans+=r[i].f;
ans-=r[g].t;
cout<<ans;
return 0;
}
//dp[i][j]=max(dp[i][j],dp[i-1][j]+r[i].f-(r[i].t-r[i-1].t),dp[i-1][j-r[i].h]-(r[i].t-r[i-1].t))
样例输出5