#include<stdio.h>
struct tree
{
int a;
int b;
};
int main()
{
int L,M,sum=0;
scanf("%d",&L);
scanf("%d",&M);
struct tree kanshu[M];
int shu[L+1];
for(int i=0;i<=L;i++)
{
shu[i]=1;
}
for(int i=0;i<M;i++)
{
scanf("%d",&kanshu[i].a);
scanf("%d",&kanshu[i].b);
for(int j=kanshu[i].a;j<=kanshu[i].b;j++)
{
shu[j]=0;
}
}
for(int i=0;i<=L;i++)
{
if(shu[i]==1)
{
sum++;
}
}
printf("%d",sum);
return 0;
}
struct tree
{
int a;
int b;
};
int main()
{
int L,M,sum=0;
scanf("%d",&L);
scanf("%d",&M);
struct tree kanshu[M];
int shu[L+1];
for(int i=0;i<=L;i++)
{
shu[i]=1;
}
for(int i=0;i<M;i++)
{
scanf("%d",&kanshu[i].a);
scanf("%d",&kanshu[i].b);
for(int j=kanshu[i].a;j<=kanshu[i].b;j++)
{
shu[j]=0;
}
}
for(int i=0;i<=L;i++)
{
if(shu[i]==1)
{
sum++;
}
}
printf("%d",sum);
return 0;
}