만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

메트로

시간 제한2.5초메모리 제한1024 MB

요약
트리 위의 두 역을 잇는 노선마다 번호가 붙어 있을 때, 각 역을 지나는 노선 번호를 정렬하고 짝수 번째 값들의 합을 구합니다.
난이도

보통10점 중 7점

유형
트리, DFS, 세그먼트 트리, 정렬
정답자
아직 제출이 없습니다

문제

최근 강박성 장애 연구소는 여러 특이한 행동을 찾아내고 분류하는 일이 많아졌다. 당신은 일반 지하철 승객들 사이에서 보고된 이상한 강박 행동 하나를 조사하도록 파견되었다.

지하철에는 NN개의 역이 있고, 이 역들은 N−1N-1개의 양방향 경로로 연결되어 있다. 또한 고유 번호가 붙은 직선 경로의 노선이 MM개 있다. 각 역에는 그 역을 지나는 노선 번호를 오름차순으로 보여 주는 전광판이 있다. 한 피실험자는 정수 리스트 C0,C1,…,CLC_0, C_1, \ldots, C_L을 보면 짝수 번째 항의 합 S=C0+C2+C4+⋯+C2K+⋯S = C_0 + C_2 + C_4 + \cdots + C_{2K} + \cdots을 계산하지 않고는 못 배긴다고 주장했다. 역마다 있는 전광판에는 이런 리스트가 하나씩 표시되어 있다.

NN개 전광판 각각에 대해 이 합을 구하라.

입력

첫 줄에 정수 NN과 MM이 주어진다. 이어지는 N−1N-1개 줄에는 각각 정수 xix_i, yiy_i가 주어지며, 역 xix_i와 역 yiy_i가 직접 연결되어 있음을 뜻한다. 이어지는 MM개 줄에는 각각 정수 aia_i, bib_i, noino_i가 주어지며, 번호가 noino_i인 노선이 역 aia_i에서 역 bib_i까지 운행한다는 뜻이다.

출력

NN줄을 출력한다. ii번째 줄에는 역 ii의 전광판에 대한 합을 한 수로 출력한다. 역 ii를 지나는 노선이 하나도 없으면 0을 출력한다.

제한

1≤N≤200,0001 \le N \le 200{,}000, 1≤M≤200,0001 \le M \le 200{,}000, 모든 ii에 대해 1≤noi≤M1 \le no_i \le M이다. 모든 역은 서로 도달할 수 있다.

예제1

  1. 예제 1

    입력
    6 4
    1 2
    2 4
    2 6
    1 3
    5 2
    5 6 3
    4 5 1
    4 3 2
    1 2 4
    
    예상 출력
    2
    4
    2
    1
    1
    3