#include #include #include using namespace std; int main() { int n,m; cin >> n >> m; vector> G(n, vector(n, 1000000000)); 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-1][b-1] = 1; G[b-1][a-1] = 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 ans = (n*(n-1)*(n-2)/6); for(int i = 0; i < n-2; i++){ for(int j = i+1; j < n-1; j++){ for(int k = j+1; k < n; k++){ if(G[i][j] == 2 || G[j][k] == 2 || G[i][k] == 2)ans--; } } } cout << ans << endl; return 0; }