#include using namespace std; const int INF = 1 << 29; int main() { int N, M; int g[50][50]; fill_n(*g, 50 * 50, INF); cin >> N >> M; for(int i = 0; i < N; i++) g[i][i] = 0; for(int i = 0; i < M; i++) { int a, b; cin >> a >> b; g[a][b] = g[b][a] = 1; } for(int k = 0; k < N; k++) { for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) g[i][j] = min(g[i][j], g[i][k] + g[k][j]); } } int ret = 0; for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { for(int k = 0; k < N; k++) { for(int l = 0; l < N; l++) { if(set< int >({i, j, k, l}).size() < 4) continue; if(g[i][j] == 1 && g[i][k] == 1 && g[j][l] == 1 && g[k][l] == 1 && g[i][l] == 2 && g[j][k] == 2) ++ret; } } } } cout << ret / 8 << endl; }