#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,m,u,v;
int way[3005][3005],vis[3005],ans;
vector<int> mp[3005];
int dfs(int now,int en)
{
	if(way[now][en]) return way[now][en];
	vis[now]=1;
	for(int i=0,l=mp[now].size();i<l;i++)
	{
		if(vis[mp[now][i]]==0)
		way[now][en]+=dfs(mp[now][i],en);
	}
	vis[now]=0;
	return way[now][en];
}
signed main()
{
	freopen("barrack.in","r",stdin);
	freopen("barrack.out","w",stdout);
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		way[i][i]=1;
	}
	for(int i=1;i<=m;i++)
	{
		scanf("%d %d",&u,&v);
		mp[u].push_back(v);
		mp[v].push_back(u);
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=i+1;j<=n;j++)
		{
			if(i==j) continue;
			way[i][j]=dfs(i,j);
			way[j][i]=way[i][j];
		}
	}
	return 0;
}