#AG0408007. 树上边差分

树上边差分

题目描述

给定一棵大小为 nn 的树。树上节点编号从 11nn

树上有 n1n-1 条边,其中第 ii 条边表示为三个整数 ui,vi,wiu_i, v_i, w_i,其中 uiu_iviv_i 表示第 ii 条边连接的两个节点的编号,wiw_i 表示第 ii 条边初始的权值。

接下来有 mm 次操作。其中第 ii 次操作表示为三个整数 xi,yi,zix_i, y_i, z_i,它表示你需要将以节点 uiu_i 为起点,节点 viv_i 为终点的简单路径上的每一条边的权值都增加 ziz_i

请你输出 mm 次操作结束后,树上每条边的权值。

输入格式

第一行,一个整数 n(2n2×105)n(2 \le n \le 2 \times 10^5),表示树的大小。

接下来 n1n-1 行,每行包含三个整数 ui,vi,wiu_i, v_i, w_i,表示树上一条边的信息(1ui,vin,1000wi10001 \le u_i, v_i \le n, -1000 \le w_i \le 1000)。

接下来一行,一个整数 m(1m2×105)m(1 \le m \le 2 \times 10^5),表示操作次数。

接下来 mm 行,每行包含三个整数 xi,yi,zix_i , y_i, z_i,表示一次操作(1xi,yin,1000wi10001 \le x_i, y_i \le n, -1000 \le w_i \le 1000)。

输出格式

输出共一行,包含 n1n-1 个整数,两两之间以一个空格分隔。其中第 ii 个整数表示最终第 ii 条边的权值。

样例

6
1 2 1
2 3 2
2 4 3
4 5 4
4 6 5
3
1 3 1
2 5 2
1 6 3
5 3 8 6 8

说明/提示

数据规模与约定

  • 对于 30%30\% 的数据,n,m20n,m \le 20
  • 对于 60%60\% 的数据,n,m2000n,m \le 2000
  • 对于 100%100\% 的数据,1n,m2×1051 \le n,m \le 2 \times 10^5