Q and T don't play games anymore. Now they study properties of all sorts of graphs together.
Q invented the following task : she takes a complete undirected graph with n vertices ,
chooses some m edges and keeps them . T gets the n*(n-1)/2-m remaining edges .
Q and T are fond of "triangles" in graphs, that is, cycles of length 3.
That's why they wonder: what total number of triangles is there in the two graphs formed by
Q and T's edges , correspondingly?
The first line contains two space-separated integers n and m (1 ≤ n ≤ 10^6, 0 ≤ m ≤ 10^6) — the number of vertices in the initial complete graph and the number of edges in Q's graph, correspondingly. Then m lines follow: the i-th line contains two space-separated integers ai, bi (1 ≤ ai, bi ≤ n, ai ≠ bi), — the numbers of the two vertices connected by the i-th edge in Q's graph. It is guaranteed that Q's graph contains no multiple edges and self-loops. It is guaranteed that the initial complete graph also contains no multiple edges and self-loops.
Consider the graph vertices to be indexed in some way from 1 to n.
Print a single number — the total number of cycles of length 3 in Q and T's graphs together.