#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) int graph[100][100] = {}; int main() { int n, m; cin >> n >> m; for (int i = 0;i < m;++i) { int a, b; cin >> a >> b; graph[a][b] = true; graph[b][a] = true; } long long ans = 0; for (int i = 0;i < n;++i) { for (int q = i + 1;q < n;++q) { for (int j = q + 1;j < n;++j) { for (int t = j + 1;t < n;++t) { vector wow; wow.push_back(i); wow.push_back(q); wow.push_back(j); wow.push_back(t); for (int wa = 0;wa < 4;++wa) { int cnt = 0; for (int ta = 0;ta < 4;++ta) { if (ta != wa) { if (graph[wow[wa]][wow[ta]] == true) cnt++; } } if (cnt != 2) goto failed; } ans++; failed:; } } } } cout << ans << endl; return 0; }