#include <stdio.h>

int main() {
    int l,m;
    scanf("%d %d",&l,&m);
    int a[l+1],b;
    for(b=0;b<l+1;b++)
    {
        a[b]=1; //全部赋初值1代表有树
    }
    int z,y;
    for(b=0;b<m;b++)
    {
        scanf("%d %d",&z,&y); //接收两个端点
        for(z;z<=y;z++)
        {
            a[z]=0; //在此闭区间内的树砍掉 置0
        }
    }
    int shu=0;
    for(b=0;b<l+1;b++) //统计还剩多少棵树 即计算1的个数
    {
        if(a[b]==1) shu++;
    }
    printf("%d",shu);

    
    return 0;
}