Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:512 MB
统计

枇杷树(loquat)

【题目背景】

杨吞天家有个很大的后院,但是光秃秃的,看起来很是荒凉。杨吞天决定种一个枇杷树

种子。许多年后,杨吞天的后院已经长满了“亭亭如盖”的枇杷树。

【题目描述】

杨吞天观察了枇杷树林的生长规律,他惊奇地发现,每一棵长出的枇杷树和之前长出的

枇杷树有着令人惊奇的相似性!

具体来说,每一年都会新长出一颗枇杷树,第i年长出的枇杷树记为Ti。第 0 年长出来

的枇杷树T 0 由于只是一个种子,因此它是一棵只有一个结点的树,该结点编号为 0 。

对于每个Ti(i > 0 ),都可以用 5 个参数来描述它,xi, yi, ui, vi, wi(xi, yi< i)。表示将

Txi的ui号结点和Tyi的vi号结点用一条长度为wi的边连结起来得到了Ti(注意,xi可以

等于yi,并且生成新树的时候用了两棵树)。

杨吞天将每年的树上的结点进行了重新编号,具体来说:对于第i年长出来的枇杷树,在

第xi棵树中点的编号不会变,在yi棵树中的点的编号加上第xi棵树的大小作为新的编号。

杨吞天很喜欢吃枇杷,每棵树上的每个结点都有一个枇杷。他想知道每棵树上任意两个

枇杷间的距离之和。由于答案可能很大,你只需要输出答案对 109 + 7取模的结果就可以了。

【输入格式】

从文件 loquat.in 中读入数据。

输入共若干行。

第一行一个正整数m,表示有m年。

接下来m行,每行 5 个非负整数xi, yi, ui, vi, wi描述Ti。

【输出格式】

输出到文件 loquat.out 中。

输出一共m行,每行一个非负整数,第i行的输出表示Ti对应的答案对 109 + 7取模的结果。

【样例 1 输入】

1 4
2 0 0 0 0 3
3 1 0 1 0 4
4 2 1 0 1 5
5 1 1 0 0 2

【样例 1 输出】

1 3
2 14
3 76
4 26

【样例 2 】

见选手目录下的 loquat/loquat2.in 与 loquat/loquat2.ans 。

【测试点约束】 对于所有测试点,满足 1 ≤m≤ 300 , 0 ≤xi, yi< i。