Problem6432--树的权

6432: 树的权

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

树是指由 $n$ 个点,$n-1$ 条边构成的联通无向图。
如果有一棵树,它的每一条边 $(u,v)$ 都有一个权值 $w$,我们把这样的树称作带权树。
我们知道对于树上的任意两个点,他们之间的路径是唯一的。对于两个点 $u,v$ 来说,我们可以算出 $u$ 与 $v$ 之间的路径上的所有边权之和,将其称作 $u$ 与 $v$ 之间路径的长度,记作 $d(u,v)$。
你的任务是计算:$\sum d(u,v)\ (u \neq v)$。

Input

输入文件的第一行为一个正整数 $n$。
接下来的 $n-1$ 行,每行三个非负整数 $u,v,w$ 表示点 $u$ 与点 $v$ 之间有一条权值为 $w$ 的一条边。
保证输入的图示一棵树。

Output

输出文件仅包含一行一个数,即答案。因为结果可能很大,请将答案模 $100,000,007$ 输出

Constraints

$n≤3×10^5\\
0≤w<1,000,000,007$

Sample 1 Input

4
1 2 4
1 3 4
1 4 4

Sample 1 Output

72
$d(1,2)+d(1,3)+d(1,4)=4+4+4=12\\
d(2,1)+d(2,3)+d(2,4)=4+8+8=20\\
d(3,1)+d(3,2)+d(3,4)=4+8+8=20\\
d(4,1)+d(4,2)+d(4,3)=4+8+8=20\\
ans=12+20+20+20=72$

EDITORIAL

Source/Category