package yukicoder; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Q485 { static int N, M; static int[] a, b; static boolean[][] adj; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); a = new int[M]; b = new int[M]; adj = new boolean[N][N]; for (int i = 0; i < M; ++i) { a[i] = sc.nextInt(); b[i] = sc.nextInt(); adj[a[i]][b[i]] = true; adj[b[i]][a[i]] = true; } int cnt = 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 (i == j || i == k || i == l || j == k || j == l || k == l) continue; if (adj[i][j] && adj[j][k] && adj[k][l] && adj[l][i] && !adj[i][k] && !adj[j][l] && !adj[k][i] && !adj[l][j]) { ++cnt; } } } } } cnt /= 8; System.out.println(cnt); } static void tr(Object... objects) { System.out.println(Arrays.deepToString(objects)); } }