#include<bits/stdc++.h>
using namespace std;
const int N=10005;
int l,m,tot=0;
int u,v;
int num[N];
int main(){
scanf("%d%d",&l,&m);
for(int k=0;k<=l;k++){//这两句表示在数组里从零到l的数都被定义为1,表示这里有树
num[k]=1;
}
for(int q=1;q<=m;q++){
scanf("%d%d",&u,&v);
for(int i=0;i<=v-u;i++){//这里输入了区间的开头和结尾,当i等于零时,u即开头被赋为零,当i=v-u时,u+i就等于v,这样u到v就全部被赋成零了。
num[u+i]=0;
}
}
for(int j=0;j<=l;j++){
tot=tot+num[j];//这里j从零到l都取一遍,如果有1就在总数加一,表示有一颗还在,如果是零就是没有树,总数就不变
}
printf("%d",tot);
return 0;