← Home
write a go solution for Description:
There are n players numbered from 0 to n-1 with ranks. The i-th player has rank i.

Players can form teams: the team should consist of three players and no pair of players in the team should have a conflict. The rank of the team is calculated using the following algorithm: let i, j, k be the ranks of players in the team and i<j<k, then the rank of the team is equal to A*i+B*j+C*k.

You are given information about the pairs of players who have a conflict. Calculate the total sum of ranks over all possible valid teams modulo 2^64.

Input Format:
The first line contains two space-separated integers n and m (3<=n<=2*10^5, 0<=m<=2*10^5) — the number of players and the number of conflicting pairs.

The second line contains three space-separated integers A, B and C (1<=A,B,C<=10^6) — coefficients for team rank calculation.

Each of the next m lines contains two space-separated integers u_i and v_i (0<=u_i,v_i<n,u_ineqv_i) — pair of conflicting players.

It's guaranteed that each unordered pair of players appears in the input file no more than once.

Output Format:
Print single integer — the total sum of ranks over all possible teams modulo 2^64.

Note:
In the first example all 4 teams are valid, i.e. triples: {0, 1, 2}, {0, 1, 3}, {0, 2, 3} {1, 2, 3}.

In the second example teams are following: {0, 2, 3}, {1, 2, 3}.

In the third example teams are following: {0, 1, 2}, {0, 1, 4}, {0, 1, 5}, {0, 2, 4}, {0, 2, 5}, {1, 2, 3}, {1, 2, 4}, {1, 2, 5}.. Output only the code with no comments, explanation, or additional text.