#include<iostream>
#include<cmath>
#include<cstring>
#include<vector>
using namespace std;
int n,m;
int x,y;
vector<int>a[100005];
long long ans=0;
int ns=0;
bool check[100005];
int num[10];
bool f=0;
void dfs(int now,int deep)
{
if(deep==2)
{
ans++;
return;
}
for(int i=0;i<int(a[now].size());i++)
{
if(check[a[now][i]]==0)
{
check[a[now][i]]=1;
dfs(a[now][i],deep+1);
check[a[now][i]]=0;
}
}
return;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
for(int i=1;i<=n;i++)
{
check[i]=1;
dfs(i,0);
memset(check,0,sizeof(check));
}
cout<<ans<<endl;
return 0;
}
1AC 2345WA +6TLE