C. 树上乘法

内存限制:256 MiB 时间限制:1000 ms 输入文件: tree.in 输出文件: tree.out
题目类型:传统 评测方式:文本比较

题目描述

对于一棵树,每次操作会将 x<->y 的路径上的每条边的权值 *z ,边的初始值都是 1 ,问最终最大的边是哪一条(输出两个端点)。

如果有多条的话,输出端点编号尽可能小的那一条。

输入格式

第一行输入两个整数 n, q ,表示树的结点数和操作次数。

然后输入 n-1 行,每行输入 x y ,表示树上结点与结点有一条边。

接下来 q 行,每行输入 x,y,z ,表示一次操作。

输出格式

输出题目要求的答案。

样例

样例输入1

5 5
1 2
1 3
1 5
3 4
1 2 4
4 2 6
1 4 9
1 4 5
4 5 9

样例输出1

1 3

样例1解释

经过5次操作之后,1-3边权为2430, 3-4边权为2430,1-2边权为24,1-5边权为9。最大的一条存在对条,我们输出编号最小的那一条,因此输出1-3这条边。

数据范围与提示

对40%数据, 1≤n,q≤1000

对100%数据, 1≤n,q≤10^5,1≤z≤10