题目描述
给定一棵大小为 n 的树。树上节点编号从 1 到 n。
树上有 n−1 条边,其中第 i 条边表示为三个整数 ui,vi,wi,其中 ui 和 vi 表示第 i 条边连接的两个节点的编号,wi 表示第 i 条边初始的权值。
接下来有 m 次操作。其中第 i 次操作表示为三个整数 xi,yi,zi,它表示你需要将以节点 ui 为起点,节点 vi 为终点的简单路径上的每一条边的权值都增加 zi。
请你输出 m 次操作结束后,树上每条边的权值。
输入格式
第一行,一个整数 n(2≤n≤2×105),表示树的大小。
接下来 n−1 行,每行包含三个整数 ui,vi,wi,表示树上一条边的信息(1≤ui,vi≤n,−1000≤wi≤1000)。
接下来一行,一个整数 m(1≤m≤2×105),表示操作次数。
接下来 m 行,每行包含三个整数 xi,yi,zi,表示一次操作(1≤xi,yi≤n,−1000≤wi≤1000)。
输出格式
输出共一行,包含 n−1 个整数,两两之间以一个空格分隔。其中第 i 个整数表示最终第 i 条边的权值。
样例
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% 的数据,n,m≤20
- 对于 60% 的数据,n,m≤2000
- 对于 100% 的数据,1≤n,m≤2×105