#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
struct E{
long long int to,time;
};
map<long long int,long long int> dp;
vector<long long int> vs;
map<long long int,E> ms;
int main() {
long long int l,n;
cin>>l>>n;
vs.push_back(0);
for(int i=0;i<n;i++){
E e1;
long long int from;
cin>>from>>e1.to>>e1.time;
e1.to+=from;
vs.push_back(from);
vs.push_back(e1.to);
ms[from]=e1;
}
sort(vs.begin(),vs.end());
long long int ans=l;
dp[0]=0;
for(int i=0;i<vs.size();i++){
long long int p1=vs[i];
long long int c1=dp[p1];
auto it=ms.upper_bound(p1);
if(it==ms.end()){
long long int c2=c1+(l-p1);
if(c2<ans)ans=c2;
}else{
long long int p2=(*it).first;
long long int c2=c1+(p2-p1);
if(dp.find(p2)==dp.end()){
dp[p2]=c2;
}else if(c2<dp[p2]){
dp[p2]=c2;
}
}
if(ms.find(p1)!=ms.end()){
E e2=ms[p1];
long long int c2=c1+e2.time;
long long int p2=e2.to;
if(dp.find(p2)==dp.end()){
dp[p2]=c2;
}else if(c2<dp[p2]){
dp[p2]=c2;
}
}
//cout<<ans<<endl;
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEV7Cglsb25nIGxvbmcgaW50IHRvLHRpbWU7Cn07CgptYXA8bG9uZyBsb25nIGludCxsb25nIGxvbmcgaW50PiBkcDsKdmVjdG9yPGxvbmcgbG9uZyBpbnQ+IHZzOwptYXA8bG9uZyBsb25nIGludCxFPiBtczsKCmludCBtYWluKCkgewoJbG9uZyBsb25nIGludCBsLG47CgljaW4+Pmw+Pm47Cgl2cy5wdXNoX2JhY2soMCk7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQlFIGUxOwoJCWxvbmcgbG9uZyBpbnQgZnJvbTsKCQljaW4+PmZyb20+PmUxLnRvPj5lMS50aW1lOwoJCWUxLnRvKz1mcm9tOwoJCXZzLnB1c2hfYmFjayhmcm9tKTsKCQl2cy5wdXNoX2JhY2soZTEudG8pOwoJCW1zW2Zyb21dPWUxOwoJfQoJc29ydCh2cy5iZWdpbigpLHZzLmVuZCgpKTsKCWxvbmcgbG9uZyBpbnQgYW5zPWw7CglkcFswXT0wOwoJCglmb3IoaW50IGk9MDtpPHZzLnNpemUoKTtpKyspewoJCWxvbmcgbG9uZyBpbnQgcDE9dnNbaV07CgkJbG9uZyBsb25nIGludCBjMT1kcFtwMV07CgkJYXV0byBpdD1tcy51cHBlcl9ib3VuZChwMSk7CgkJaWYoaXQ9PW1zLmVuZCgpKXsKCQkJbG9uZyBsb25nIGludCBjMj1jMSsobC1wMSk7CgkJCWlmKGMyPGFucylhbnM9YzI7CgkJfWVsc2V7CgkJCWxvbmcgbG9uZyBpbnQgcDI9KCppdCkuZmlyc3Q7CgkJCWxvbmcgbG9uZyBpbnQgYzI9YzErKHAyLXAxKTsKCQkJaWYoZHAuZmluZChwMik9PWRwLmVuZCgpKXsKCQkJCWRwW3AyXT1jMjsKCQkJfWVsc2UgaWYoYzI8ZHBbcDJdKXsKCQkJCWRwW3AyXT1jMjsKCQkJfQoJCX0KCQlpZihtcy5maW5kKHAxKSE9bXMuZW5kKCkpewoJCQlFIGUyPW1zW3AxXTsKCQkJbG9uZyBsb25nIGludCBjMj1jMStlMi50aW1lOwoJCQlsb25nIGxvbmcgaW50IHAyPWUyLnRvOwoJCQlpZihkcC5maW5kKHAyKT09ZHAuZW5kKCkpewoJCQkJZHBbcDJdPWMyOwoJCQl9ZWxzZSBpZihjMjxkcFtwMl0pewoJCQkJZHBbcDJdPWMyOwoJCQl9CgkJfQoJCS8vY291dDw8YW5zPDxlbmRsOwoJfQoJY291dDw8YW5zPDxlbmRsOwoJcmV0dXJuIDA7Cn0=