#include <bits/stdc++.h>
using namespace std;
bitset<710> g[1000];
bitset<710> temp;
long long cnt2[710][710];
int cnt[710];
int n, m;
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < m; ++i) {
    int a, b;
    scanf("%d %d", &a, &b);
    --a, --b;
    g[a].set(b);
    g[b].set(a);
    cnt[a]++;
    cnt[b]++;
  }
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++)
      cnt2[i][j] = cnt2[j][i] = (g[i] & g[j]).count();
  long long ans = 0;
  bool q, q1;
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++) {
      if (g[i].test(j) == 0) continue;
      temp = g[i] & g[j];
      for (int k = 0; k < n; k++) {
        if (k == i || k == j) continue;
        q = (g[i].test(j) && g[k].test(j));
        q1 = (g[j].test(i) && g[k].test(i));
        ans += (cnt2[i][k] - q) * (cnt2[j][k] - q1);
      }
    }
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++) {
      if (!g[i].test(j)) continue;
      for (int k = j + 1; k < n; k++) {
        if (!g[i].test(k)) continue;
        if (!g[j].test(k)) continue;
        ans -= cnt[i] - 2;
        ans -= cnt[j] - 2;
        ans -= cnt[k] - 2;
      }
    }
  ans /= 5;
  cout << ans << endl;
  return 0;
}
