Se consideră un graf neorientat complet cu vârfuri etichetate de la la . Asociem fiecărui vârf o valoare inițială . Valorile din vârfuri se transformă începând cu un moment ințial din secundă în secundă după următoarea regulă: valoarea într-un vârf la secunda este egală cu suma valorilor aflate în toate celelalte vârfuri la secunda .
Cerință
Cunoscând – numărul de vârfuri ale grafului precum și valorile inițiale din vârfurile grafului, să se răspundă la întrebări date perechi de forma cu semnificația: “Dacă după secunde se consideră valorile din vârfuri ordonate crescător, care este valoarea de pe poziția ?”. Deoarece aceste valori pot fi foarte mari, acestea vor fi calculate modulo .
Date de intrare
Fișierul de intrare complet.in
conține pe prima linie două numere naturale nenule separate printr-un spațiu: și . Pe a doua linie se găsesc numere naturale nenule separate prin câte un spațiu, reprezentând valorile aflate inițial în vârfurile grafului. Linia a treia conține exact numere naturale separate prin câte un spațiu cu ajutorul cărora vor fi construite cele întrebări. Primele trei întrebări sunt date de perechile , , . Întrebarea (cu ) va fi generată cu relațiile:
- sunt numere naturale nenule fixate de cel mult cifre
Date de ieșire
Fișierului de ieșire complet.out
va conține linii, fiecare dintre acestea conținând un singur număr reprezentând răspunsul la întrebarea corespunzătoare din fișierul de intrare, modulo .
Restricții și precizări
- Valorile inițiale din noduri sunt naturale nenule și mai mici sau egale cu
- pentru fiecare întrebare
- pentru fiecare întrebare
Exemplu
complet.in
4 4
1 4 2 3
1 1 1 1 1 1 1 1 1
complet.out
6
6
6
204
Explicație
Întrebările vor fi:
În secunda valorile sunt:
După sortare, pe prima poziție este .
În secunda valorile sunt: , , ,
După sortare, pe a patra poziție este .