Shimulare preOJI Octavian | Tonnelle

This was the problem page during the contest. Access the current page here.
Time limit: 1s Memory limit: 64MB Input: Output:

Cerință

Se dă un arbore cu NN noduri rădăcinat în 11.
Fiecare nod ii are o valoare asociata viv_i.

Costul unui lanț este definit ca suma valorilor de pe lanț la puterea KK.
Se consideră toate lanțurile care pornesc în nodul XX și se termină în nodul YY cu proprietatea că YY este un strămoș al lui XX.

Care este suma costurilor tuturor lanțurilor descrise mai sus modulo 109+710^9+7?

Date de intrare

Pe prima linie se găsesc două numere NN și KK.
Pe următorul rând se găsesc NN valori: v1,v2,...,vNv_1, v_2, ..., v_N.
Pe următoarele N1N-1 rânduri se vor găsi câte 22 numere, cu proprietatea că există muchie între cele 22 noduri.

Date de ieșire

Se va afișa suma dorită modulor 109+710^9+7.

Restricții și precizări

  • 1N21051 \leq N \leq 2 \cdot 10^5
  • 1K1001 \leq K \leq 100
  • 1vi1091 \leq v_i \leq 10^9
  • Arborele este rădăcinat în nodul 11.

Subtaskuri

  • Pentru 15p N100N \leq 100
  • Pentru alte 15p K=1K = 1
  • Pentru alte 20p K=2K = 2

Exemplul 1

stdin

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

stdout

338

Explicație


Lanțurile de interes sunt: (1),(2,1),(3,1),(2),(3),(4,2,1),(5,2,1),(4),(5),(4,2),(5,2)(1), (2,1), (3,1), (2), (3), (4,2,1), (5,2,1), (4), (5), (4,2), (5,2)
Suma dorită este: 32+(1+3)2+(4+3)2+12+42+(5+1+3)2+(4+1+3)2+52+42+(5+1)2+(4+1)2=3383^2 + (1+3)^2 + (4+3)^2 + 1^2 + 4^2 + (5+1+3)^2 + (4+1+3)^2 + 5^2 + 4^2 + (5+1)^2 + (4+1)^2 = 338.

Exemplul 2

stdin

3 5
66 68 70
1 2
2 3

stdout

945826610

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