#include <cstdio>
#include <iostream>
#include <string.h>
using namespace std;
const int maxn = 10010;
int main()
{
int l,m,a,b,x;
int trees[maxn]={0};
while( cin>>l>>m )
{
//跳出循环条件
if(l==0 && m==0)
return 0;
//设置树 共l+1课
for(int i = 0 ; i<=l; i++)
trees[i] = 1;
//x砍掉的树数目,m次操作
x = 0;
while(m--)
{
cin>>a>>b; //输入区间内的树 包括端点
for(int j=a; j<=b; j++)
{
if(trees[j] == 1)
{
++x;
trees[j] = 0;
}
}
}
cout<<l-x+1<<endl; //输入剩下的树的个数 l-x+1
memset(trees,0,maxn); //重置树数组
}
}