#include<iostream>
#define N 100005
using namespace std;
struct node
{
int b,e;
int t;
};
node record[N];
bool vis[N]={false};
int main()
{
int n,h;
cin>>n>>h;
for(int i=0;i<h;i++)
{
cin>>record[i].b>>record[i].e>>record[i].t;
}
int ans=0;
for(int i=0;i<h;i++)
{
vis[record[i].b]=true;
vis[record[i].e]=true;
}
int cut=0;
for(int i=0;i<h;i++)
{
int base=0;
for(int j=record[i].b;j<=record[i].e;j++)
{
if(vis[j]==true)
{
base++;
}
}
if(base>record[i].t)
{
cut+=(base-record[i].t);
}
}
for(int i=0;i<n;i++)
{
if(vis[i]==true)
{
ans++;
}
}
cout<<(ans-cut)<<endl;
return 0;
}