#include #include #include template std::vector vec(int len, T elem) { return std::vector(len, elem); } void solve() { int n, m; std::cin >> n >> m; std::vector> to(n); while (m--) { int u, v; std::cin >> u >> v; --u, --v; to[u].push_back(v); to[v].push_back(u); } auto rel = vec(n, vec(n, false)); for (int c = 0; c < n; ++c) { for (auto u : to[c]) { for (auto v : to[c]) { rel[u][v] = true; } } } for (int v = 0; v < n; ++v) { for (auto u : to[v]) { rel[u][v] = false; } } int ans = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { for (int k = 0; k < j; ++k) { if (rel[i][j] || rel[j][k] || rel[k][i]) continue; ++ans; } } } std::cout << ans << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }