#include<bits/stdc++.h>
using namespace std;
bool mp[10010][10010];
bool vis[10010];
int d[10010][10010];
int n,ans,first;
int dfs(int x,int step)
{
if(step == 4)
{
ans++;
return 0;
}
for(int i = 1;i<=n;i++)
{
if(mp[x][i] == 1)
{
if(vis[i] == 0)
{
vis[i] = 1;
d[ans][step] = i;
dfs(i,step+1);
d[ans][step] = 0;
vis[i] = 0;
}
else
{
if(i == first && step == 3)
{
dfs(i,step+1);
}
}
}
}
return 0;
}
int main()
{
int m;
cin >> n >> m;
int a,b;
for(int i = 0;i<m;i++)
{
cin >> a >> b;
mp[a][b] = 1;
mp[b][a] = 1;
}
for(int i = 1;i<=n;i++)
{
vis[i] = 1;
first = i;
dfs(i,1);
vis[i] = 0;
}
cout << ans << '\n';
return 0;
}
995