#P11010. [2016杭电多校]Fantasia

[2016杭电多校]Fantasia

Fantasia

Problem Description

Professor Zhang has an undirected graph GG with nn vertices and mm edges. Each vertex is attached with a weight wiw_i. Let GiG_i be the graph after deleting the ii-th vertex from graph GG. Professor Zhang wants to find the weight of G1,G2,...,GnG_1, G_2, ..., G_n. The weight of a graph GG is defined as follows:

  1. If GG is connected, then the weight of GG is the product of the weight of each vertex in GG.
  2. Otherwise, the weight of GG is the sum of the weight of all the connected components of GG. A connected component of an undirected graph GG is a subgraph in which any two vertices are connected to each other by paths, and which is connected to no additional vertices in GG.

Input

There are multiple test cases. The first line of input contains an integer TT, indicating the number of test cases. For each test case: The first line contains two integers nn and mm (2n105,1m2×105)(2 \le n \le 10^5, 1 \le m \le 2 \times 10^5) -- the number of vertices and the number of edges. The second line contains nn integers w1,w2,...,wnw_1, w_2, ..., w_n (1wi109)(1 \le w_i \le 10^9), denoting the weight of each vertex. In the next m lines, each contains two integers xix_i and yiy_i (1xi,yin,xiyi)(1 \le x_i, y_i \le n, x_i \ne y_i), denoting an undirected edge. There are at most 10001000 test cases and n,m1.5×106\sum n, \sum m \le 1.5 \times 10^6.

Output

For each test case, output an integer $S = (\sum\limits_{i=1}^{n}i\cdot z_i) \text{ mod } (10^9 + 7)$, where ziz_i is the weight of GiG_i.

Sample Input

1
3 2
1 2 3
1 2
2 3

Sample Output

20

Author

zimpha

Source

2016 Multi-University Training Contest 2