atcoder#DIVERTA2019F. Edge Ordering
Edge Ordering
Score : points
Problem Statement
You are given a simple connected undirected graph consisting of vertices and edges. The vertices are numbered to , and the edges are numbered to .
Edge connects Vertex and bidirectionally. It is guaranteed that the subgraph consisting of Vertex and Edge is a spanning tree of .
An allocation of weights to the edges is called a good allocation when the tree consisting of Vertex and Edge is a minimum spanning tree of .
There are ways to allocate the edges distinct integer weights between and . For each good allocation among those, find the total weight of the edges in the minimum spanning tree, and print the sum of those total weights modulo .
Constraints
- All values in input are integers.
- does not have self-loops or multiple edges.
- The subgraph consisting of Vertex and Edge is a spanning tree of .
Input
Input is given from Standard Input in the following format:
Output
Print the answer.
3 3
1 2
2 3
1 3
6
An allocation is good only if Edge has the weight . For these good allocations, the total weight of the edges in the minimum spanning tree is , and there are two good allocations, so the answer is .
4 4
1 2
3 2
3 4
1 3
50
15 28
10 7
5 9
2 13
2 14
6 1
5 12
2 10
3 9
10 15
11 12
12 6
2 12
12 8
4 10
15 3
13 14
1 15
15 12
4 14
1 7
5 11
7 13
9 10
2 7
1 9
5 6
12 14
5 2
657573092
Print the sum of those total weights modulo .