Se dă un arbore cu noduri, fiecare nod având un vas comunicant cu capacitate infinită.
Să se răspundă la întrebări de forma , cu următoarea semnificație: vom considera lanțul de la la și vom turna litri de apă în nodul . Prin acest proces valorile de pe lanțul de la la vor fi (începând cu ) . Valoarea dintr-un nod care nu se află pe lanțul de la la este valoarea care se află în cel mai apropiat nod care se află pe lanțul de la la . Pentru fiecare query, se cere suma valorilor din arbore.
Cerință
Să se răspundă la cele întrebări.
Date de intrare
Pe prima linie se află numerele și . Următoarele conțin fiecare câte o pereche de numere cu semnificația că există o muchie între nodurile și . Următoarele linii conțin fiecare câte trei numere, , reprezentând elementele unui query.
Date de ieșire
Fișierul de ieșire va conține linii, a -a linie reprezentând răspunsul pentru al -lea query.
Restricții și precizări
Subtask 1 (8 puncte)
Subtask 2 (6 puncte)
- Toate query-urile au același
Subtask 3 (12 puncte)
- Toate query-urile au același
Subtask 4 (53 puncte)
Subtask 5 (21 puncte)
- Fără alte restricții
Exemplu
stdin
10 3
1 2
2 3
3 4
3 5
3 6
4 7
4 8
6 9
6 10
7 10 5
7 10 3
1 10 8
stdout
30
11
59
Explicație
Pentru primul query, nodul este singurul cu litri de apă, nodurile și conțin litri de apă, nodurile și conțin litri de apă, nodurile și conțin litri de apă, iar nodul conține un litru de apă.