#include <stdio.h>
int main()
{
int l,m; //l存储马路的长度,m存储区域的数目
int u,v; //u,v分别用来存储区域的起点和终点
int i,j;
int cnt = 0;
scanf("%d%d",&l,&m); //输入马路的长度和区域的数目
int tree[l]; //定义数组用来存储路上所有的树
//遍历马路上所有的树
for(i=0; i<=l; i++)
{
tree[i] = 0; //把所有的树标记为 0
}
for(i=0; i<m; i++)
{
scanf("%d%d",&u,&v);
for(j=u; j<=v; j++)
{
tree[j] = 1; //所有区域内的树标记为 1
}
}
//遍历整个数组,未标记为1的,计数加一
for(i=0; i<=l; i++)
{
if(tree[i]!=1)
cnt++;
}
printf("%d",cnt);
return 0;
}