#CF1076E. Vasya and a Tree

Vasya and a Tree

markdown

E. Vasya 与一棵树

项目 限制
时间限制 22
内存限制 256256 兆字节
输入 标准输入
输出 标准输出

Vasya 有一棵包含 nn 个顶点的树,根节点为 11。初始时,所有顶点上的值均为 00

(i,j)(i, j) 为顶点 iijj 之间的距离,即从 iijj 的最短路径上的边数。
另外,定义顶点 vvkk-子树 为满足以下两个条件的顶点集合 xx

  • vvxx 的祖先(每个顶点都是它自己的祖先);
  • (x,v)k(x, v) \le k

Vasya 需要你处理 mm 个查询。第 ii 个查询是一个三元组 vi,di,xiv_i, d_i, x_i
对于每个查询,Vasya 将值 xix_i 加到 viv_idid_i-子树中的每一个顶点上。

请在所有查询处理完毕后,输出树中每个顶点上的最终值。

输入

第一行包含一个整数 nn1n31051 \le n \le 3 \cdot 10^5)—— 树中顶点的数量。

接下来的 n1n-1 行,每行包含两个整数 xxyy1x,yn1 \le x, y \le n)—— 表示顶点 xxyy 之间的一条边。保证给定的图是一棵树。

下一行包含一个整数 mm1m31051 \le m \le 3 \cdot 10^5)—— 查询的数量。

接下来的 mm 行,每行包含三个整数 vi,di,xiv_i, d_i, x_i1vin1 \le v_i \le n0di1090 \le d_i \le 10^90xi1090 \le x_i \le 10^9)—— 第 ii 个查询的描述。

输出

输出 nn 个整数。第 ii 个整数表示处理完所有查询后,顶点 ii 上的值。

样例

输入样例 1

5
1 2
1 3
2 4
2 5
3
1 1 1
2 0 10
4 10 100

输出样例 1

1 11 1 100 0

输入样例 2

5
2 3
2 1
5 4
3 4
5
2 0 4
3 10 1
1 2 3
2 3 10
1 1 7

输出样例 2

10 24 14 11 11

注释

在第一个样例中,初始时各顶点的值均为 0,0,0,0,00, 0, 0, 0, 0
第一次查询后,各顶点的值变为 1,1,1,0,01, 1, 1, 0, 0
第二次查询后,各顶点的值变为 1,11,1,0,01, 11, 1, 0, 0
第三次查询后,各顶点的值变为 1,11,1,100,01, 11, 1, 100, 0