Miruna a descoperit un nou joc. Ea dispune de litere mari și mici ale alfabetului englez și construiește succesiv șiruri de litere din ce în ce mai lungi. Ea definește operația CAPS a unei litere, ca fiind transformarea literei respective din literă mare în literă mică sau invers, din litera mică în literă mare. Pentru fiecare șir , Miruna asociază un nou șir , numit șir CAPS, care se obține aplicând operația CAPS asupra tuturor literelor din șirul . Miruna a inventat o altă operație pentru un șir de litere , numită NEXT, prin care obține un nou șir care are structura (este format în ordine de la stânga la dreapta din literele lui , apoi de două ori succesiv literele șirului , iar apoi urmează din nou literele șirului ). De exemplu, șirului Ham
îi corespunde șirul CAPS hAM
și dacă se aplică și operația NEXT asupra șirului , obține șirul HamhAMhAMHam
. Inițial, Miruna construiește un șir de litere. Apoi, ea construiește un nou șir obținut prin aplicarea operației NEXT asupra șirului . Miruna dorește să obțină succesiv șiruri de litere din ce în ce mai lungi aplicând operația NEXT asupra șirului construit în etapa precedentă.
Astfel, pentru și Ham
, Miruna va construi șirurile HamhAMhAMHam
, HamhAMhAMHamhAMHamHamhAMhAMHamHamhAMHamhAMhAMHam
și așa mai departe. Miruna continuă procedeul de construire până când obține un șir final suficient de lung.
Cerințe
Miruna vă roagă să răspundeți la întrebări de tipul:
„Dacă se dă un număr natural , ce literă este în șirul final pe poziția și de câte ori a apărut această literă în șirul final, de la începutul șirului final până la poziția inclusiv?”.
Date de intrare
Pe prima linie a fișierului caps.in
se află două numere naturale separate prin spațiu reprezentând valorile (lungimea șirului inițial) și (numărul de interogări). Pe linia următoare se află șirul inițial de lungime . Pe următoarele linii se va afla câte un număr , reprezentând cerința unei întrebări.
Date de ieșire
În fișierul de ieșire caps.out
, se vor afla linii, iar pe fiecare linie câte două valori separate cu un spațiu reprezentând răspunsul la o întrebare (litera de pe poziția în șirul final și numărul său de apariții până la poziția inclusiv).
Restricții și precizări
- Pentru fiecare test se acordă din punctaj dacă toate literele interogărilor din test sunt corecte și din punctaj dacă toate numerele de apariții ale literelor, până la pozițiile din interogările testului, sunt corecte.
- Miruna vă garantează că a construit un șir final de lungime mai mare decât .
- Prima poziție în șir este considerată poziția .
# | Punctaj | Restricții |
---|---|---|
1 | 15 | , , |
2 | 20 | |
3 | 20 | , |
4 | 35 | Fără restricții suplimentare. |
Exemplu
caps.in
3 1
Ham
5
caps.out
A 1
Explicație
Pe poziția se va afla litera A
, numărul de apariții al ei de la poziția la poziția este .