가중치가 있는 트리에서 색칠 질의와 거리 합 질의를 처리하며, 각 2번 질의마다 x에서 파란 정점 전체까지의 거리 합을 출력한다.
NNN개의 정점으로 이루어진 트리가 있다. 정점에는 000번부터 N−1N-1N−1번까지 번호가 붙어 있고, 간선마다 길이가 정해져 있다. 두 정점 사이의 거리는 두 정점을 잇는 유일한 경로에 놓인 간선 길이의 합이다.
처음에는 모든 정점이 흰색이다. 이제 다음 두 종류의 쿼리를 주어진 순서대로 처리한다.
모든 쿼리 2의 답을 구하는 프로그램을 작성하시오.
첫째 줄에 정점의 개수 NNN (2≤N≤100,0002 \le N \le 100{,}0002≤N≤100,000)과 쿼리의 개수 QQQ (1≤Q≤100,0001 \le Q \le 100{,}0001≤Q≤100,000)가 주어진다.
다음 N−1N-1N−1개의 줄에는 간선 정보 uuu, vvv, www가 주어진다. uuu번 정점과 vvv번 정점이 길이 www인 간선으로 연결되어 있다. (0≤u,v≤N−10 \le u, v \le N-10≤u,v≤N−1, u≠vu \ne vu=v, 0≤w≤1,000,0030 \le w \le 1{,}000{,}0030≤w≤1,000,003)
다음 QQQ개의 줄에는 쿼리가 한 줄에 하나씩 주어진다. 첫 번째 정수는 쿼리의 종류 111 또는 222이고, 두 번째 정수는 xxx (0≤x≤N−10 \le x \le N-10≤x≤N−1)이다.
쿼리 2가 주어질 때마다 답을 한 줄에 하나씩, 주어진 순서대로 출력한다.