무역로

아직 제출이 없습니다시간 제한4초메모리 제한1024 MB

문제

여러분은 서방에서 가장 명성이 높은 상인이다. 최근 여러분은 변화하는 국제 정세에 따라 새로운 시장을 개척하기 위해 동방의 나라를 순회하는 무역로를 건설하려는 계획을 세우고 있다.

동방에는 11번부터 NN번까지의 번호가 붙은 NN개의 나라와 그 나라 사이를 잇는 N1N-1개의 도로가 존재한다. 모든 도로는 서로 다른 두 나라를 양방향으로 잇고 있으며, 주어진 도로만을 이용해 임의의 두 나라 사이를 이동하는 것이 가능하다. 즉, 동방의 나라들은 트리 형태로 이어져 있다.

무역로는 임의의 두 나라 사이를 잇는 단순 경로이다. 어떤 나라에서 무역을 시작하고 어떤 나라에서 무역을 끝낼지는 자유롭게 정할 수 있다. 이렇게 무역로를 설치했을 때 얻을 수 있는 수익은 무역로에 포함되는 모든 나라에서의 무역 수익의 합이다. ii번 나라에서 얻을 수 있는 무역 수익은 A_iA\_i임이 알려져 있다.

여러분은 QQ개의 무역로 건설 계획을 세웠다. 각 계획에는 K_iK\_i개의 반드시 방문해야 하는 나라의 목록이 포함되어 있다. 계획마다 주어지는 나라들을 모두 지나는 무역로 중 최대 수익의 값을 구해보자. 만약 그러한 무역로가 존재하지 않는다면 대신 No를 출력한다.

입력

첫째 줄에 동방에 있는 나라의 수 NN과 여러분이 세운 무역로 건설 계획의 수 QQ가 공백을 두고 주어진다. (3N500 000(3 \le N \le 500\ 000; 1Q500 000)1 \le Q \le 500\ 000)

다음 N1N-1개의 줄에는 동방의 도로가 잇는 두 나라의 번호 u_iu\_iv_iv\_i가 공백을 두고 주어진다. (1u_i<v_iN)(1 \le u\_i < v\_i \le N)

그다음 줄에는 A_1,A_2,,A_NA\_1, A\_2, \dots, A\_N이 공백을 두고 주어진다. A_iA\_iii번 나라를 지나는 무역로를 건설했을 때 얻는 수익을 의미한다. (109A_i109)(-10^9 \le A\_i \le 10^9)

다음 QQ개의 줄에는 무역로 건설 계획의 정보를 나타내는 K_i,S_1,S_2,,S_K_iK\_i, S\_1, S\_2, \dots, S\_{K\_i}이 공백을 두고 주어진다. K_iK\_iii번째 계획에서 무역로가 반드시 지나야 하는 나라의 수를 의미하고, S_jS\_j는 그러한 나라의 번호를 의미한다. (1K_iN;(1 \le K\_i \le N; 1S_jN1 \le S\_j \le N; jk,S_jS_k;j \neq k, S\_j \neq S\_k; _i=1QK_i500 000)\sum\_{i=1}^{Q}{K\_i} \le 500\ 000)

입력에서 주어지는 모든 수는 정수이다.

출력

각 건설 계획마다 해당하는 나라를 모두 지나는 무역로 중 최대 수익을 한 줄에 하나씩 출력한다. 만약 그러한 무역로가 존재하지 않는다면 No를 출력한다.