#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int INF=0x3f3f3f3f;
const int M=1010;
int n,p,ans,now;
int g[10*M][2],con[M<<1];
int main(){
scanf("%d%d",&n,&p);
for(int i=1;i<=p;i++)
scanf("%d%d",&g[i][0],&g[i][1]);
int a,b,now,i,j;
for(i=1,ans=INF;i<=n;i++){
memset(con,0,sizeof(con));
now=0;
for(j=1;j<=p;j++){
a=g[j][0];
if(a<i) a+=n;
b=g[j][1];
if(b<i) b+=n;
if(a>b) swap(a,b);
con[a]=max(con[a],b);
}
for(j=a=i;j<i+n;j++)
if(con[j]>a){
now+=con[j]-max(a,j);
a=con[j];
}
ans=min(now,ans);
}
printf("%d\n",ans);
return 0;
}