PUTEVI | 프로그래밍의 벗 PivotOJ
PivotOJ

PUTEVI

시간 제한: 2000ms메모리 제한: 128MB출처: CHC 2008 Final Exam #1BOJ 1289

문제

As you are bound to know by now, a tree is a connected graph consisting of N vertices and N−1 edges. Trees also have the property of there being exactly a single unique path between any pair of vertices. 

You will be given a tree in which every edge is assigned a weight – a non-negative integer. The weight of a path is the product of the weights of all edges on the path. The weight of the tree is the sum of the weights of all paths in the tree. Paths going in opposite directions (A to B and B to A) are considered the same and, when calculating the weight of a tree, are counted only once. 

Write a program that, given a tree, calculates its weight modulo 1 000 000 007. 

입력

The first line contains the integer N (2 ≤ N ≤ 100000), the number of vertices in the tree. The vertices are numbered 1 to N. 

Each of the following N−1 contains three integers A, B and W (1 ≤ A, B ≤ N, 0 ≤ W ≤ 1000) describing one edge. The edge connects vertices A and B, and its weight is W. 

출력

Output the weight of the tree, modulo 1 000 000 007. 

예제

예제 1

입력
3
3 2 100
2 1 100
출력
10200

예제 2

입력
4
1 2 5
1 3 5
1 4 5
출력
90

예제 3

입력
5
1 2 2
2 3 3
4 3 2
5 3 2
출력
55
코드를 제출하려면 로그인하세요.