아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Fantasia

시간 제한5초메모리 제한64 MB

요약
각 정점 i를 제거한 그래프의 무게를 구한다. 연결 그래프의 무게는 정점 가중치의 곱이고, 연결되지 않은 그래프의 무게는 각 연결 성분 무게의 합이다.
난이도

보통10점 중 7점

유형
그래프, DFS, 완전 탐색, 수학
정답자
아직 제출이 없습니다

문제

장 교수는 정점 nn개와 간선 mm개를 가진 무방향 그래프 GG를 가지고 있다. 각 정점에는 정수 가중치 wiw_i가 있다. 그래프 GG에서 ii번째 정점을 삭제해 얻은 그래프를 GiG_i라고 하자. 장 교수는 G1,G2,…,GnG_1, G_2, \ldots, G_n의 가중치를 구하려고 한다.

그래프 GG의 가중치는 다음과 같이 정의된다.

  • GG가 연결되어 있으면, GG의 가중치는 GG에 있는 각 정점 가중치의 곱이다.
  • 그렇지 않으면, GG의 가중치는 GG의 모든 연결 요소 가중치의 합이다.

무방향 그래프 GG의 연결 요소 HH는 다음을 만족하는 부분 그래프이다. HH 안의 임의의 두 정점은 경로로 연결되며, GG의 다른 정점 중 HH의 어떤 정점과도 경로로 연결되는 정점은 없다.

입력

여러 개의 테스트 케이스가 주어진다. 입력의 첫 줄에는 테스트 케이스의 수를 나타내는 정수 TT가 주어진다. 각 테스트 케이스는 다음과 같다.

첫 줄에는 두 정수 nn과 mm이 주어진다 (2≤n≤1052 \le n \le 10^5, 1≤m≤2⋅1051 \le m \le 2 \cdot 10^5). nn은 정점의 수, mm은 간선의 수이다.

둘째 줄에는 nn개의 정수 w1,w2,…,wnw_1, w_2, \ldots, w_n이 주어진다 (1≤wi≤1091 \le w_i \le 10^9). wiw_i는 각 정점의 가중치이다.

다음 mm개의 줄에는 각각 두 정수 xix_i와 yiy_i가 주어진다 (1≤xi,yi≤n1 \le x_i, y_i \le n, xi≠yix_i \ne y_i). 이는 무방향 간선을 나타낸다.

테스트 케이스는 최대 10001000개이며, 모든 테스트 케이스에서 nn의 합은 최대 1.5⋅1061.5 \cdot 10^6, mm의 합도 최대 1.5⋅1061.5 \cdot 10^6이다.

출력

각 테스트 케이스마다 정수 S=(∑i=1ni⋅zi)S = (\sum\limits_{i = 1}^{n}{i \cdot z_i})를 109+710^9 + 7로 나눈 나머지를 출력한다. 여기서 ziz_i는 GiG_i의 가중치이다.

예제1

  1. 예제 1

    입력
    1
    3 2
    1 2 3
    1 2
    2 3
    
    예상 출력
    20