//题意:某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,
//另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
//由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,
//区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。我们的任务是计算将这些树都移走后,马路上还有多少棵树。
//题解:定义变量 l,m,a[10000],b,c,sum。输入l,m;然后循环,a[i]=1;再次循环(循环套循环) 输入b,c;(第1个循环) ,
//a[j]=0(第二个循环),再次循环,判断a[i]是否=1;如果是,sum++。最后输出sum。
include<bits/stdc++.h>
using namespace std;
int main(){
int l,m,a[10000],b,c,sum=0;
cin>>l>>m;
for(int i=0;i<=l;i++){
a[i]=1;
}
for(int i=1;i<=m;i++){
cin>>b>>c;
for(int j=b;j<=c;j++){
a[j]=0;
}
}
for(int i=0;i<=l;i++){
if(a[i]==1){
sum++;
}
}
cout<<sum;
return 0;
}