Manuela are un arbore cu noduri, unde fiecare muchie are câte o lungime. Un lanţ este o secvenţă de noduri distincte , astfel încât să existe câte o muchie între oricare două noduri adiacente. Numim lungimea unui lanţ suma lungimilor muchiilor care unesc nodurile adiacente din drum. Pentru fiecare muchie fie suma lungimilor tuturor lanţurilor care conţin muchia de la la .
Cerință
Manuela are interogări, fiecare de forma unui lanţ . Ea vrea să afle suma modulo .
Date de intrare
Primul rând al fişierului de intrare arbquery.in
conţine numerele şi . Urmează rânduri, fiecare conţinând trei valori , si , ce indică existenţa unei muchii de la la cu lungimea .
Urmează apoi linii, fiecare conţinând două valori si , ce reprezintă o interogare asupra lanţului unic de la la .
Date de ieșire
Fişierul de ieşire arbquery.out
conţine răspunsurile celor interogări, în ordine.
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 10 | , |
2 | 30 | , |
3 | 10 | , , oricare nod are cel mult 2 muchii incidente |
4 | 10 | , , cel mult un nod are mai mult de o muchie incidenta |
5 | 40 | , |
Exemplu
arbquery.in
3 3
1 2 1
2 3 100
1 2
2 3
1 3
arbquery.out
102
201
303
Explicație
Observăm că sunt trei lanţuri, de cost , de cost şi de cost . Astfel , . Astfel rezultatul pentru este , pentru este , şi pentru este .