Cerință
Se dau un arbore cu noduri cu rădăcina în nodul al cărui muchii au lungimi exprimate prin numere naturale nenule și query-uri de forma . Pentru fiecare query să se afle suma lungimilor tuturor drumurilor distincte de la un nod aflat în subarborele cu rădăcina în nodul la un nod aflat în subarborele cu rădăcina în nodul modulo . (lungimea unui drum este egală cu suma lungimilor tuturor muchiilor ce îl alcătuiesc).
Date de intrare
Pe prima linie se vor citi de la tastatură numerele și reprezentând numărul de noduri din arbore, respectiv numărul de query-uri.
Următoarele linii conțin câte 2 numere , , reprezentând tatăl nodului în arbore, respectiv lungimea muchiei dintre și (nodul este rădăcina arborelui, deci nu are tată).
Pe următoarele linii se va afla câte un query.
Date de ieșire
Programul va afișa pe ecran pe câte o linie rezultatele query-urilor, în ordinea în care acestea apar în input.
Restricții și precizări
- pentru fiecare query de tipul , subarborii cu rădăcinile în nodurile , respectiv nu vor avea noduri comune.
Exemplu
stdin
14 4
1 4
1 3
2 2
2 7
2 10
3 12
3 5
4 8
4 1
5 3
7 6
7 4
8 9
4 8
2 7
9 11
12 8
stdout
129
595
20
55
Explicație
Arborele descris în exemplu arată în felul următor:
Pentru primul query drumurile sunt:
- De la la de lungime
- De la la de lungime
- De la la de lungime
- De la la de lungime
- De la la de lungime
- De la la de lungime
Total: