#include<bits/stdc++.h>
using namespace std;
const int N=100010;
const int M=1e9+7;
int n,m;
//int st[N];
int h[N],e[N],ne[N],idx;
//void add(int a,int b){
//	e[idx]=b;ne[idx]=h[a];h[a]=idx++;
//}
int ans;
int hh(int x){
	int ans1=1;
	for(int i=2;i<=x;i++)ans*=i;
	return ans1;
}
/*
3 3
1 2
2 3
3 1

40
*/
int main(){
	ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
	freopen("barrack.in","r",stdin);
	freopen("barrack.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;++i){
		int u,v;cin>>u>>v;
//		add(u,v);add(v,u);
	}
	ans+=(1<<n)*m;
	for(int i=1;i<=m;++i) ans+=hh(m-i)*((2<<m)+m-2);
	
	cout<<ans;
	return 0;
}