물류창고

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

문제

UCPC시에는 NN개의 물류창고가 있으며, KK개의 회사가 각 물류창고를 소유하고 있다. 물류창고에는 11번부터 NN번까지 차례대로 번호가 붙어있으며, 회사 또한 11번부터 KK번까지 차례대로 번호가 붙어있다. MM개의 양방향 도로가 두 물류창고를 연결하고 있으며, 도로마다 물건의 이동 상한선이 정해져 있다. 두 물류창고 사이에는 여러 개의 도로가 있을 수 있으며, 임의의 두 물류창고를 연결하는 경로는 언제나 존재한다.

두 물류창고 사이에서 물건을 배송한다고 생각해 보자. 두 물류창고를 연결하는 경로상의 도로 중 가장 작은 이동 상한선이 두 물류창고의 배송 상한선이 된다. 만약 두 물류창고를 연결하는 경로가 여러 개 존재한다면, 그중에서 배송 상한선이 가장 큰 경로를 선택할 것이다.

각 회사에 대해, 해당 회사에 속한 물류창고끼리의 배송 상한선들의 총합을 구해보자.

단, 각 회사는 22개 이상의 물류창고를 소유하고 있음이 보장된다.

입력

첫 번째 줄에 물류창고의 수 NN, 회사의 수 KK, 도로의 수 MM이 공백으로 구분되어 주어진다. (2N100 000; 1Kmin(N2,50 000); N1M300 000)(2\leq N\leq 100\ 000;\ 1\leq K\leq\min(\frac{N}{2} ,50\ 000) ;\ N-1\leq M\leq 300\ 000)

두 번째 줄에는 NN개의 정수 C_1, C_2, ..., C_NC\_1,\ C\_2,\ ...,\ C\_N 가 공백으로 구분되어 주어지며, 이는 ii번 물류창고를 C_iC\_i번 회사가 소유함을 나타낸다. (1C_iK)(1\leq C\_i\leq K)

이후 MM개의 줄에 걸쳐 도로들의 정보가 주어진다. 각 줄에는 세 개의 정수 XX, YY, WW가 공백으로 구분되어 주어지며, 이는 XX번 물류창고와 YY번 물류창고를 연결하는 이동 상한선 WW의 양방향 도로를 나타낸다. (1X,YN; 1W109)(1\leq X,Y\leq N;\ 1\leq W\leq 10^9)

출력

KK개 줄에 걸쳐 11번 회사부터 KK번 회사까지 각 회사에 속한 물류창고끼리의 배송 상한선들의 총합을 출력한다.