#000277

Putevi

Kao što je prosječnom natjecatelju vjerojatno poznato, stablo je povezan graf koji se sastoji od N vrhova i N-1 bridova. Također, stablo ima svojstvo da izmeñu svaka dva vrha postoji jedinstven put. Zadano je stablo u kojem je svakom bridu dodijeljena težina – nenegativni cijeli broj. Težinu pojedinog puta definiramo kao umnožak težina svih bridova koji čine taj put. Težinu stabla definiramo kao zbroj težina svih različitih puteva u njemu. Pritom, obrnute putove (od A do B i od B do A) smatramo istim putem te ga, prilikom računanja težine stabla, brojimo samo jednom. Napišite program koji će, za zadano stablo, izračunati ostatak koji njegova težina daje pri dijeljenju sa 1 000 000 007.


InputU prvom redu nalazi se prirodni broj N (2 ≤ N ≤ 100 000), broj vrhova u stablu. Vrhovi stabla, označeni su redom brojevima od 1 do N. U svakom od sljedećih N-1 redova nalaze se po tri cijela broja A, B i [] (1 ≤ A, BN, 0 ≤ C ≤ 1000); koji označavaju jedan brid. Brid povezuje vrhove A i B, a njegova težina je C.

OutputU prvi i jedini red ispišite ostatak pri dijeljenju težine stabla s brojem 1000000007.


Ulaz
[c]
3
3 2 100
2 1 100

Izlaz

10200

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.