时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
原初的质料
无瑕的生命
白垩色的王子给了你一棵由

个点和

条双向边连成的无根树,所有边的长度均为

。
在若干个时刻,会有若干个生物在某个结点出生,共

个生物。具体地,第

个生物在

结点出生,出生时刻为

。第

个生物于

时刻出生后,其在之后的任意时刻可能会保持静止,也可能以

单位每时刻的速度沿树边进行移动。
现在询问,在哪一时刻,第一次
可能有生物相遇。
容易发现该时刻一定是一个整数或分母为

的分数,因此便捷起见,请你输出该时刻的
两倍。
输入描述:
第一行输入两个整数
,分别表示点数和生物数。
接下来
行,每行包含两个整数
,表示在
之间存在一条双向边,保证这
条边构成一棵树。
接下来
行,每行包含两个整数
,分别表示生物
的出生结点与出生时刻。
输出描述:
输出一个数,表示第一次可能有生物相遇的时刻的两倍。