#include <iostream>
#include<algorithm>
using namespace std;
const int N=100010;
typedef pair<int,int> PII;
PII p[N];
int main() {
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;i++){
        scanf("%d%d",&p[i].first,&p[i].second);
    }
    sort(p,p+m);//排序
    int sum=max(p[0].first-1,0);
    int r=p[0].second;
    for(int i=1;i<m;i++){
        if(p[i].first>r+1){
            sum=max(sum,p[i].first-r-1); //有空的地方 比较取max            
        }
        r=max(p[i].second,r);//右边界不断扩展 可能出现大区间包含小区间情况 故取max
    }
    if(r<n)sum=max(n-r,sum);//最后剩余的天数
    printf("%d",sum);
}