Avem o tablă de șah de dimensiune și o piesă cal, dar mai specială decât cea cunoscută la popularul sport al minții. Calul din problema noastră face de asemenea mutări în formă de , fără a părăsi tabla de șah. Una dintre laturile -ului are lungimea de două pătrățele iar cealaltă latură poate avea orice lungime . Numim mutare de tip o mutare în care o latură are lungimea iar cealaltă are lungimea .
O secvență de mutări o vom codifica sub forma unui șir descrescător de numere naturale reprezentând tipurile mutărilor din care este formată, indiferent de ordinea în care acestea au fost efectuate. De exemplu șirul codifică trei mutări de tip 4 și una de tip 2. Spunem că șirul de mutări este mai mare lexicografic decât dacă există unde , astfel încât: și , pentru fiecare .
Cerință
Determinați o poziție inițială a calului și o secvență de mutări astfel încât să vizităm exact o dată fiecare poziție de pe tablă (poziția inițială se consideră vizitată prin simplul fapt că se pornește de acolo). Dacă există mai multe soluții se cere cea pentru care șirul obținut în urma codificării mutărilor este maxim lexicografic.
Date de intrare
Fișierul de intrare cai.in
conține pe prima linie numărul care reprezintă numărul de linii și de coloane ale tablei de joc.
Date de ieșire
Fișierul de ieșire cai.out
conține linii, pe fiecare dintre acestea aflându-se două numere naturale și , separate prin spațiu, reprezentând coordonatele linie, coloană pentru câte o poziție pe care calul o vizitează, în ordinea efectuării mutărilor.
Restricții și precizări
- .
- Liniile și coloanele sunt numerotate începând cu .
- Se va acorda punctaj parțial pentru o soluție corectă, dar pentru care șirul obținut în urma codificării nu este maxim lexicografic.
Exemplul 1
cai.in
2
cai.out
1 1
2 2
1 2
2 1
Explicație
Soluția se codifică prin șirul , fiind formată din două mutări de tip și o mutare de tip . O posibilă ordine în efectuarea mutărilor este următoarea: Calul pornește din poziția , face mai întâi o mutare de tip - ajungând în poziția , apoi face o mutare de tip , ajungând în poziția și în final face o altă mutare de tip , ajungând în poziția finală . În tabelul de mai jos este notată ordinea în care este vizitată fiecare poziție.
O altă variantă ar fi secvența de mutări codificată prin șirul , dar care nu este maxim lexicografic.
Calul pornește din poziția , face mai întâi o mutare de tip -- ajungând în poziția , apoi face o mutare de tip , ajungând în poziția și în final face o altă mutare de tip , ajungând în poziția finală .