100 atcoder#ABC138D. [ABC138D] Ki

[ABC138D] Ki

配点 : 400400

問題文

11 から NN までの番号がついた NN 個の頂点を持つ根付き木が与えられます。 この木の根は頂点 11 で、ii 番目の辺 (1iN1)(1 \leq i \leq N - 1) は頂点 aia_i と頂点 bib_i を結びます。

各頂点にはカウンターが設置されており、はじめすべての頂点のカウンターの値は 00 です。

これから、以下のような QQ 回の操作が行われます。

  • 操作 jj (1jQ)(1 \leq j \leq Q): 頂点 pjp_j を根とする部分木に含まれるすべての頂点のカウンターの値に xjx_j を足す。

すべての操作のあとの各頂点のカウンターの値を求めてください。

制約

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1ai<biN1 \leq a_i < b_i \leq N
  • 1pjN1 \leq p_j \leq N
  • 1xj1041 \leq x_j \leq 10^4
  • 与えられるグラフは木である。
  • 入力中の値はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN QQ

a1a_1 b1b_1

::

aN1a_{N-1} bN1b_{N-1}

p1p_1 x1x_1

::

pQp_Q xQx_Q

出力

すべての操作のあとの各頂点のカウンターの値を、頂点 1,2,,N1, 2, \ldots, N の順に空白区切りで出力せよ。

4 3
1 2
2 3
2 4
2 10
1 100
3 1
100 110 111 110

この入力中の木は次のようなものです。

図

各操作で、頂点のカウンターの値は次のように変化します。

  • 操作 11: 頂点 22 を根とする部分木に含まれるすべての頂点、すなわち頂点 2,3,42, 3, 4 のカウンターの値に 1010 を足す。頂点 1,2,3,41, 2, 3, 4 のカウンターの値はそれぞれ 0,10,10,100, 10, 10, 10 となる。
  • 操作 22: 頂点 11 を根とする部分木に含まれるすべての頂点、すなわち頂点 1,2,3,41, 2, 3, 4 のカウンターの値に 100100 を足す。頂点 1,2,3,41, 2, 3, 4 のカウンターの値はそれぞれ 100,110,110,110100, 110, 110, 110 となる。
  • 操作 33: 頂点 33 を根とする部分木に含まれるすべての頂点、すなわち頂点 33 のカウンターの値に 11 を足す。頂点 1,2,3,41, 2, 3, 4 のカウンターの値はそれぞれ 100,110,111,110100, 110, 111, 110 となる。
6 2
1 2
1 3
2 4
3 6
2 5
1 10
1 10
20 20 20 20 20 20