#include<bits/stdc++.h>
using namespace std;
const int N=1e4+100;
const int M=1e5+100;
int h[N],e[M],ne[M],idx=1;
bool st[N];
int ans=0;
int start;
void add(int a,int b){
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
void dfs(int s,int u,int t){
for(int i=h[u];i;i=ne[i]){
int j=e[i];
if((j==s||st[j]==false)&&t==3){
ans++;
continue;
}
if(st[j]) continue;
st[j]=true;
dfs(s,j,t+1);
st[j]=false;
}
}
int main(){
//memset(h,-1,sizeof h);
int n,m;scanf("%d%d",&n,&m);
for(int i=0;i<m;i++){
int a,b;scanf("%d%d",&a,&b);
add(a,b);
add(b,a);
}
for(int i=1;i<=n;i++){
st[i]=true;
dfs(i,i,1);
st[i]=false;
}
printf("%d\n",ans);
return 0;
}