#include <stdio.h>
#include <stdlib.h>

struct Mstruct{
    int l;
    int r;
};

int main() {
    int L,M;
    scanf("%d %d\n",&L,&M);
    struct Mstruct Mcase[100];
    int num = L + 1;
    for(int i = 0; i < M; i ++){
        scanf("%d %d",&(Mcase[i].l),&(Mcase[i].r));
    }
    int *tree = (int *)calloc(L + 1,sizeof(int));
    for(int i = 0; i < M; i ++){
        for(int j = Mcase[i].l; j <= Mcase[i].r;j ++ ){
            if(tree[j] == 0){
                tree[j] = 1;
                num --;
            }
        }
    }
    printf("%d\n",num);

    return 0;
}