Sushi Cat

Time limit: 1s Memory limit: 256MB Input: Output:

Cerință

Pentru a o salva pe soția sa, Maki, Sushi Cat a ajuns într-un spațiu abstract vectorial non-eucli... arbore. Acesta are NN noduri numerotate de la 11 la NN, este înrădăcinat în nodul 11, iar fiecare muchie are o greutate asociată. Sushi Cat "cade" de la rădăcină spre frunze. Atunci când acesta ajunge la un nod ce are mai mult de un fiu, poate cădea în oricare cu probabilitate proporțională cu valoarea muchiei către acesta. Spre exemplu, dacă un nod are doi fii și muchia spre primul fiu are cost 11, iar spre celălalt fiu 33, atunci are probabilitate 11+3\frac{1}{1+3} să continue spre primul fiu, și 31+3\frac{3}{1+3} spre celălalt.

Într-un final, Sushi Cat ajunge într-una din frunze. Dar nu se oprește acolo! Arborele se înrădăcinează în frunza în care tocmai a ajuns, iar jocul se repetă de încă KK ori. La final, el este prea amețit să știe unde s-a oprit. Așa că vă cere vouă să aflați pentru fiecare frunză a arborelui (inclusiv rădăcina, dacă are un singur vecin), probabilitatea ca el să se fi oprit acolo la finalul aventurii.

Date de intrare

Pe prima linie se găsesc numerele întregi NN și KK. Următoarele N1N - 1 linii conțin triplete de forma (u,v,w)(u, v, w), reprezentând faptul că există o muchie bidirecțională de la nodul uu la nodul vv de greutate ww.

Date de ieșire

Pentru fiecare frunză a arborelui în ordine crescătoare (inclusiv rădăcina, dacă are un singur vecin), se cere probabilitatea ca Sushi Cat să se fi oprit în frunza respectivă. Dacă probabilitatea cerută este un număr real de forma pq\frac{p}{q}, atunci se cere să se afișeze pq1mod109+7p \cdot q^{-1} \mod 10^9 + 7, unde prin q1q^{-1} am notat inversul modular al lui qq modulo 109+710^9 + 7.

Restricții și precizări

  • 2N1002 \leq N \leq 100;
  • 0K10180 \leq K \leq 10^{18};
  • 1w101 \leq w \leq 10;
  • Pentru teste în valoare de 2222 de puncte, K=0K=0;
  • Pentru alte teste în valoare de 66 de puncte, K=1K=1;
  • Pentru alte teste în valoare de 1212 de puncte, arborele este un lanț;
  • Pentru alte teste în valoare de 2929 de puncte, K3104K \leq 3 \cdot 10^4;
  • Pentru alte teste în valoare de 3131 de puncte, nu există restricții suplimentare.

Exemplul 1

stdin

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

stdout

0 
333333336 
666666672

Explicație

Acesta este arborele reprezentativ pentru exemplu. Sushi Cat va cădea din nodul 11 și va ajunge cu probabilitate 11 până în nodul 33. De acolo, are probabilitate 13\frac{1}{3} să continue spre 44 și 23\frac{2}{3} să continue spre 55. Astfel, rezultatul este următorul:

  • Pentru frunza 11, probabilitate 00;
  • Pentru frunza 44, probabilitate 13\frac{1}{3}, deci vom afișa 131mod109+7=3333333361 \cdot 3^{-1} \mod 10^9 + 7 = 333333336
  • Pentru frunza 55, probabilitate 23\frac{2}{3}, deci vom afișa 231mod109+7=6666666722 \cdot 3^{-1} \mod 10^9 + 7 = 666666672

Exemplul 2

stdin

5 1234576
1 2 1
2 3 2
3 4 1
3 5 2

stdout

701387956
456084865
842527194

Log in or sign up to be able to send submissions!