SP8980 KOICOST - Cost

Description

You are given an undirected graph with N verticies and M edges, where the weights are unique. There is a function Cost(u, v), which is defined as follows: While there is a path between vertex u and v, delete the edge with the smallest weight. Cost(u,v) is the sum of the weights of the edges that were deleted in this process. ![graph](../../content/francky:cost-graph "graph") For example, from the graph above (same as the sample input), Cost(2,6) is 2+3+4+5+6 = 20. Given an undirected graph, your task is to calculate the sum of Cost(u,v) for all vertices u and v, where u < v. Since the answer can get large, output the answer modulo 10^9.

Input Format

The first line of the input consists of two integers, N and M. (1

Output Format

Output the sum specified in the problem statement.