#include<bits/stdc++.h>
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0);
using namespace std;
const ll N=5e6;
ll a[500][500],b[ N+5];
vector<ll> g[100];
int main(){
fast
ll n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
ll u,v;
cin>>u>>v;
u--,v--;
if(u>v) swap(u,v);
a[u][v]=1;
if(u+1!=v){
g[u].push_back(v);
g[v].push_back(u);
}
}
for(int i=0;i<n-1;i++)
if(!a[i][i+1]) {
g[i].push_back(i+1);
g[i+1].push_back(i);
}
memset(b,0x3f,sizeof b);
ll n1=n/2,n2=n-n1;
for(int mask=0;mask<(1<<n1); ++mask){
bool kt=1;
ll cnt=0;
ll mask1=0;
for(int i=0;i<n1;i++){
cnt+=(mask>>i&1);
if( !(mask>>i&1) ){
for(auto j:g[i]){
if(!(mask>>j&1) && j<n1){
kt=0;
break;
}
if(j>=n1){
mask1|=(1<<(j-n1));
// cout<<i<<" "<<j<<"\n";
}
}
}
}
if(kt==1 )
b[mask1]=min(b[mask1],cnt);
//cout<<mask<<" "<<mask1<<" "<<cnt<<"\n";
}
for(int i=0;i<(1<<n2);i++){
for(int j=0;j<n2;j++){
if( !(i>>j&1)){
b[i|(1<<j)] =min(b[i|(1<<j)],b[i]);
}
}
}
//for(int i=0;i<(1<<n2);i++)
// cout<<b[i]<<"\n";
ll res=2*(n-1);
for(int mask=0;mask<(1<<n2); ++mask){
bool kt=1;
ll cnt=0;
for(int i=0;i<n2;i++){
cnt+=(mask>>i&1);
if( !(mask>>i&1) )
for(auto j:g[i+n1]){
ll j1=j-n1;
if(!(mask>>j1&1) && j>=n1){
kt=0;
break;
}
}
}
if(kt==1){
res=min(res,cnt+b[mask]);
// cout<<mask<<" "<<cnt<<" "<<b[mask]<<"\n";
//cout<<cnt+b[mask]<<"\n";
}
//cout<<b[mask]<<"\n";
}
cout<<res*2;
return 0;
}
/*
4 4
1 2
1 3
2 3
3 4
*/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCksY2luLnRpZSgwKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbGwgTj01ZTY7CgpsbCBhWzUwMF1bNTAwXSxiWyBOKzVdOwoKdmVjdG9yPGxsPiBnWzEwMF07CgppbnQgbWFpbigpewpmYXN0CmxsIG4sbTsKY2luPj5uPj5tOwpmb3IoaW50IGk9MTtpPD1tO2krKyl7CiAgICBsbCB1LHY7CiAgICBjaW4+PnU+PnY7CiAgICB1LS0sdi0tOwppZih1PnYpIHN3YXAodSx2KTsKCiAgICBhW3VdW3ZdPTE7CiAgICBpZih1KzEhPXYpewogICAgICAgIGdbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGdbdl0ucHVzaF9iYWNrKHUpOwogICAgfQoKfQpmb3IoaW50IGk9MDtpPG4tMTtpKyspCmlmKCFhW2ldW2krMV0pIHsKICAgIGdbaV0ucHVzaF9iYWNrKGkrMSk7CiAgICBnW2krMV0ucHVzaF9iYWNrKGkpOwoKfQoKbWVtc2V0KGIsMHgzZixzaXplb2YgYik7CgpsbCBuMT1uLzIsbjI9bi1uMTsKCiBmb3IoaW50IG1hc2s9MDttYXNrPCgxPDxuMSk7ICsrbWFzayl7CiAgICAgICAgYm9vbCBrdD0xOwogICBsbCBjbnQ9MDsKICAgICBsbCBtYXNrMT0wOwoKICAgIGZvcihpbnQgaT0wO2k8bjE7aSsrKXsKICAgICAgICAgY250Kz0obWFzaz4+aSYxKTsKICAgICBpZiggIShtYXNrPj5pJjEpICApewoKICAgICAgICBmb3IoYXV0byBqOmdbaV0pewogICAgICAgICAgaWYoIShtYXNrPj5qJjEpICYmIGo8bjEpewogICAgICAgICAgICAga3Q9MDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmKGo+PW4xKXsKICAgICAgICAgICAgbWFzazF8PSgxPDwoai1uMSkpOwogICAgICAgICAgIC8vIGNvdXQ8PGk8PCIgIjw8ajw8IlxuIjsKICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgIH0KICAgICB9CgogICAgICAgIGlmKGt0PT0xICkKICAgICAgIGJbbWFzazFdPW1pbihiW21hc2sxXSxjbnQpOwogLy9jb3V0PDxtYXNrPDwiICI8PG1hc2sxPDwiICI8PGNudDw8IlxuIjsKCiAgICAgfQoKCiAgICAgZm9yKGludCBpPTA7aTwoMTw8bjIpO2krKyl7CgogICAgICAgIGZvcihpbnQgaj0wO2o8bjI7aisrKXsKCiAgICAgICAgaWYoICEoaT4+aiYxKSl7CgogICAgICAgICAgYltpfCgxPDxqKV0gPW1pbihiW2l8KDE8PGopXSxiW2ldKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgfQoKICAgICAvL2ZvcihpbnQgaT0wO2k8KDE8PG4yKTtpKyspCiAgICAgIC8vICBjb3V0PDxiW2ldPDwiXG4iOwpsbCByZXM9Mioobi0xKTsKCiAgICAgZm9yKGludCBtYXNrPTA7bWFzazwoMTw8bjIpOyArK21hc2spewogICAgICAgIGJvb2wga3Q9MTsKICAgbGwgY250PTA7CgogICAgZm9yKGludCBpPTA7aTxuMjtpKyspewoKCiAgICAgICAgIGNudCs9KG1hc2s+PmkmMSk7CgogICAgIGlmKCAhKG1hc2s+PmkmMSkgKQogICAgICAgIGZvcihhdXRvIGo6Z1tpK24xXSl7CiAgICAgICAgICAgICAgICBsbCBqMT1qLW4xOwoKICAgICAgICAgIGlmKCEobWFzaz4+ajEmMSkgJiYgaj49bjEpewogICAgICAgICAgICAga3Q9MDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICB9CgogICAgICAgIGlmKGt0PT0xKXsKICAgICAgIHJlcz1taW4ocmVzLGNudCtiW21hc2tdKTsKICAgICAgLy8gY291dDw8bWFzazw8IiAiPDxjbnQ8PCIgIjw8YlttYXNrXTw8IlxuIjsKICAgICAgLy9jb3V0PDxjbnQrYlttYXNrXTw8IlxuIjsKICAgIH0KICAgIC8vY291dDw8YlttYXNrXTw8IlxuIjsKfQogICAgY291dDw8cmVzKjI7CgpyZXR1cm4gMDsKfQovKgo0IDQKMSAyCjEgMwoyIDMKMyA0CiovCg==