#abc187e. [abc187_e]Through Path

[abc187_e]Through Path

问题陈述

我们有一棵具有 NN 个顶点和 N1N-1 条边的树,其中顶点编号为 1,2,dots,N1, 2, \\dots, N,边的编号为 1,2,dots,N11, 2, \\dots, N-1。边 ii 连接顶点 aia_ibib_i。 树中的每个顶点上都写着一个整数。设 cic_i 表示顶点 ii 上写的整数。初始时,ci=0c_i = 0

你将获得 QQ 个查询。第 ii 个查询由整数 tit_ieie_ixix_i 组成,具体如下:

  • 如果 ti=1t_i = 1:对于从顶点 aeia_{e_i} 不经过顶点 beib_{e_i} 穿过边可达的每个顶点 vv,将 cvc_v 替换为 cv+xic_v + x_i
  • 如果 ti=2t_i = 2:对于从顶点 beib_{e_i} 不经过顶点 aeia_{e_i} 穿过边可达的每个顶点 vv,将 cvc_v 替换为 cv+xic_v + x_i

处理完所有查询后,打印每个顶点上写的整数。

约束条件

  • 输入中的所有值都是整数。
  • 2leNle2times1052 \\le N \\le 2 \\times 10^5
  • 1leai,bileN1 \\le a_i, b_i \\le N
  • 给定的图是一棵树。
  • 1leQle2times1051 \\le Q \\le 2 \\times 10^5
  • tiin1,2t_i \\in \\{1, 2\\}
  • 1leeileN11 \\le e_i \\le N-1
  • 1lexile1091 \\le x_i \\le 10^9

输入

输入以以下格式从标准输入给出:

NN a1a_1 b1b_1 vdots\\vdots aN1a_{N-1} bN1b_{N-1} QQ t1t_1 e1e_1 x1x_1 vdots\\vdots tQt_Q eQe_Q xQx_Q

输出

按照处理完所有查询后的顺序,每行打印 c1,c2,dots,cNc_1, c_2, \\dots, c_N 的值。


示例输入 1

5
1 2
2 3
2 4
4 5
4
1 1 1
1 4 10
2 1 100
2 2 1000

示例输出 1

11
110
1110
110
100

在第一个查询中,我们对从顶点 11 可达而不经过顶点 22 的每个顶点加上 11,即顶点 11
在第二个查询中,我们对从顶点 44 可达而不经过顶点 55 的每个顶点加上 1010,即顶点 1,2,3,41, 2, 3, 4
在第三个查询中,我们对从顶点 22 可达而不经过顶点 11 的每个顶点加上 100100,即顶点 2,3,4,52, 3, 4, 5
在第四个查询中,我们对从顶点 33 可达而不经过顶点 22 的每个顶点加上 10001000,即顶点 33


示例输入 2

7
2 1
2 3
4 2
4 5
6 1
3 7
7
2 2 1
1 3 2
2 2 4
1 6 8
1 3 16
2 4 32
2 1 64

示例输出 2

72
8
13
26
58
72
5

示例输入 3

11
2 1
1 3
3 4
5 2
1 6
1 7
5 8
3 9
3 10
11 4
10
2 6 688
1 10 856
1 8 680
1 8 182
2 2 452
2 4 183
2 6 518
1 3 612
2 6 339
2 3 206

示例输出 3

1657
1657
2109
1703
1474
1657
3202
1474
1247
2109
2559