Municipiul B. a fost numit de curând stațiune turistică de interes național – astfel a decis să înceapă să desemneze anumite zone din oraș ca fiind centre culturale. Orașul este format din N intersecții, numerotate de la 1 la N, legate printre ele cu N − 1 drumuri, astfel încât oricare două intersecții să fie legate direct sau indirect prin drumuri. Fiecare intersecție are câte o valoare culturală, intersecția i având valoarea v[i].
Orașul poate desemna o mulțime S de intersecții ca fiind centru cultural dacă și numai dacă poți ajunge din oricare intersecție din S la oricare alta trecând doar prin intersecții din S și drumuri. Fie M mulțimea de mulțimi S ce pot fi desemnate ca centre culturale.
Pentru oricare mulțime de intersecții S ∈ M, se consideră că valoarea culturală a centrului este dată de v(S), definit prin
,
pentru o constantă P.
Municipiul va desemna fiecare mulțime din M ca fiind centru cultural pentru câte o zi, într-o ordine oarecare. Primăria este curioasă despre suma valorilor culturale a tuturor centrelor desemnate, modulo , adică
mod .
Îi puteți ajuta să găsească această valoare?
Date de intrare
În prima linie a fișierului de intrare se vor găsi valorile N, P. Urmează pe a doua linie valorile v[1], ... , v[N]. Pe cea de-a treia linie se vor găsi valorile p[2], ... , p[N], indicând că există pentru fiecare i de la 2 la N un drum între intersecțiile i și p[i]. Se garantează ca p[i] < i oricare ar fi 1 < i ≤ N.
Date de ieșire
Se va afișa o singură linie, ce conține răspunsul cerut.
Restricții și precizări
Subtask 1 (7 puncte)
1 ≤ N ≤ 151 ≤ P ≤ 7
Subtask 2 (12 puncte)
1 ≤ N ≤ 100v[1] = ... = v[N] = 11 ≤ P ≤ 7
Subtask 3 (5 puncte)
1 ≤ N ≤ 1 000v[1] = ... = v[N] = 11 ≤ P ≤ 7
Subtask 4 (8 puncte)
1 ≤ N ≤ 1 000P = 1
Subtask 5 (10 puncte)
1 ≤ N ≤ 100 000P = 1
Subtask 6 (9 puncte)
1 ≤ N ≤ 1 000P = 2
Subtask 7 (13 puncte)
1 ≤ N ≤ 100 000P = 2
Subtask 8 (14 puncte)
1 ≤ N ≤ 100 0001 ≤ P ≤ 7- o intersecție e capătul a cel mult două drumuri
Subtask 9 (22 puncte)
1 ≤ N ≤ 100 0001 ≤ P ≤ 7
Exemple
stdin
3 2
1 2 3
1 1
stdout
75
stdin
4 1
9 10 9 10
1 2 1
stdout
190
stdin
5 2
1 2 3 4 5
1 1 3 3
stdout
1133
stdin
7 2
1 1 1 1 1 1 1
1 1 1 2 5 2
stdout
590
stdin
10 3
13 8 4 8 6 13 6 8 14 9
1 2 3 3 2 6 5 4 8
stdout
12312296
Explicație
Pentru primul exemplu, muchiile sunt (1, 2), (1, 3). Subarborii sunt determinați de următoarele mulțimi de noduri: {1}, {2}, {3}, {1, 2}, {1, 3}, {1, 2, 3}. Acestea au sumele 1, 2, 3, 3, 4, 6. Ridicând acestea la pătrat ne dă 1, 4, 9, 9, 16, 36, iar însumând ne dă 75.