#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 20;
int n, m, a[25][25], f[1<<N][N], ans;
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
for(int u, v, i = 1; i <= m; i++) {
cin >> u >> v;
a[u][v] = a[v][u] = 1;
}
for(int i = 1; i <= n; i++)
f[1<<i][i] = 1;
for(int s = 1; s < (1 << n); s++)
for(int i = 1; i <= n; i++)
if(s & (1 << i)) {
for(int j = 1; j <= n; j++) {
if(a[i][j] && (1 << j) >= (s & -s)) {
if((1 << j) & s) {
if((1 << j) == (s & -s))
ans += f[s][i];
}
else f[s | (1 << j)][j] += f[s][i];
}
}
}
cout << (ans - m) / 2 << endl;
return 0;
}