Andrei, Bogdan și Claudia joacă un joc cu ținte așezate pe un rând și cu un pistol de vopsit de putere .
Inițial, fiecare țintă este vopsită în alb și are scris pe ea numărul . O țintă se numește liberă dacă este albă și are scris pe ea numărul .
Jocul se desfășoară în mutări care lovesc cel mult ținte consecutive. La a -a mutare, toate țintele lovite de acea mutare sunt vopsite în culoarea mutării, iar pe fiecare dintre ele se scrie numărul . Bogdan este interesat doar de culorile țintelor. El vrea să știe numărul de colorări diferite care pot apărea după un joc terminat în care numărul maxim posibil este scris pe cel puțin o țintă. Două colorări sunt diferite dacă există cel puțin o țintă care are culori diferite în cele două colorări.
Există trei tipuri de mutări: Albastre, Galbene și Roșii:
- O mutare Albastră alege exact ținte consecutive. O astfel de mutare este validă dacă toate țintele alese sunt libere, iar ținta imediat din stânga și ținta imediat din dreapta există și sunt, de asemenea, libere.
- O mutare Galbenă este permisă doar dacă nu mai există nicio mutare Albastră validă. Ea alege câteva ținte libere consecutive și le vopsește în galben. Țintele alese trebuie să aibă o țintă liberă imediat în stânga și o țintă liberă imediat în dreapta, iar mutarea trebuie să fie maximală: nu poate fi extinsă nici la stânga, nici la dreapta păstrând această proprietate. Echivalent, o mutare Galbenă acționează asupra unui bloc maximal de ținte libere de lungime între și și vopsește toate țintele din acel bloc, cu excepția primei și ultimei.
- O mutare Roșie este permisă doar dacă nu mai există nicio mutare Albastră sau Galbenă validă. Ea alege un bloc maximal de ținte libere consecutive și îl vopsește în întregime în roșu. O mutare Roșie lovește întotdeauna fie , fie ținte.
Jocul se termină când nu mai există nicio țintă liberă.
Andrei este interesat de cel mai mare număr care poate fi scris pe o țintă după terminarea jocului.
Bogdan este interesat doar de culorile țintelor. El vrea să știe numărul , câte colorări diferite pot apărea după un joc terminat în care numărul maxim posibil este scris pe cel puțin o țintă. Două colorări sunt diferite dacă există cel puțin o țintă care are culori diferite în cele două colorări.
Claudia este interesată doar de numerele scrise pe ținte. Ea vrea să știe numărul , câte numerotări diferite pot apărea după un joc terminat în care numărul maxim posibil este scris pe cel puțin o țintă. Două numerotări sunt diferite dacă există cel puțin o țintă care are numere diferite în cele două numerotări.
Cerință
Ajutați-i pe cei trei să își afle numerele lor, , și respectiv . Deoarece răspunsurile pentru Bogdan și Claudia pot fi foarte mari, calculați-le modulo . Atenție! Numărul trebuie calculat fără niciun modulo.
Date de intrare
Pe prima linie a fișierului de intrare maxhits.in se află , numărul de scenarii de joc la care va trebui să răspundeți. Fiecare dintre următoarele linii conține câte două numere, și , în această ordine și cu semnificația din enunț.
Date de ieșire
În fișierul de ieșire maxhits.out se vor afișa linii fiecare conținând numere, al -lea triplet reprezentând răspunsul pentru , și , în această ordine, pentru al -lea scenariu de joc.
Restricții și precizări
- Pentru fiecare test, dacă toate valorile -urilor sunt corecte se va acorda din punctaj.
- Pentru fiecare test, dacă toate valorile -urilor sunt corecte se va acorda din punctaj.
- Pentru fiecare test, dacă toate valorile -urilor sunt corecte se va acorda din punctaj.
- Atenție! Trebuie afișate răspunsuri (posibil incorecte) pentru toate cele trei numere , și pentru obținerea punctajelor parțiale.
| # | Punctaj | Restricții |
|---|---|---|
| , | ||
| , | ||
| , | ||
| , | ||
| , | ||
| , | ||
| , | ||
| , | ||
| , | ||
| , suma de pentru toate scenariile din fișier | ||
| , | ||
| , | ||
| Fără restricții suplimentare |
Exemplu
maxhits.in
3
5 3
20 7
123456789 54321
maxhits.out
3 1 2
7 13 624
9091 668672468 892007695
Explicație
Pentru primul exemplu, avem și .
Singura mutare Albastră validă este pe țintele , , , deoarece acestea sunt trei ținte consecutive libere și au câte o țintă liberă imediat în stânga și în dreapta.
După această mutare, mai rămân libere doar țintele și . Nu mai există nicio mutare Albastră sau Galbenă validă, deci cele două ținte rămase vor fi lovite prin mutări Roșii. Ele pot fi lovite în două ordini diferite.

În ambele stări, cel mai mare număr scris pe o țintă este , deci .
Există o singură colorare posibilă: țintele , , sunt Albastre, iar țintele și sunt Roșii. Deci .
Există două numerotări posibile, deoarece cele două mutări Roșii pot fi făcute în două ordini diferite. Deci .
Pentru al doilea exemplu, unde și , iată o stare finală posibilă care atinge valoarea maximă .
