Spirala

Time limit: 0.2s Memory limit: 2MB Input: spirala.in Output: spirala.out

Se consideră un automat de criptare format dintr-un tablou cu nn linii şi nn coloane, tablou ce conţine toate numerele de la 11 la n2n^2 aşezate ”şerpuit” pe linii, de la prima la ultima linie, pe liniile impare pornind de la stânga către dreapta, iar pe cele pare de la dreapta către stânga (ca în figura alăturată).

Numim ”amestecare“ operaţia de desfăşurare în spirală a valorilor din tablou în ordinea indicată de săgeţi şi de reaşezare a acestora în acelaşi tablou, ”şerpuit” pe linii ca şi în cazul precedent.

De exemplu, desfăşurarea tabloului conduce la şirul: 1 2 3 4 5 12 13 14 15 16 9 8 7 6 11 101 \ 2 \ 3 \ 4 \ 5 \ 12 \ 13 \ 14 \ 15 \ 16 \ 9 \ 8 \ 7 \ 6 \ 11 \ 10, iar reaşezarea acestuia în tablou conduce la obţinerea unui nou tablou reprezentat în cea de-a doua figură alăturată.

După orice operaţie de amestecare se poate relua procedeul, efectuând o nouă amestecare. S-a observat un fapt interesant: că după un număr de amestecări, unele valori ajung din nou în poziţia iniţială (pe care o aveau în tabloul de pornire). De exemplu, după două amestecări, tabloul de 444 \cdot 4 conţine 99 dintre elementele sale în exact aceeaşi poziţie în care se aflau iniţial (vezi elemente marcate din figură).

Cerinţă

Pentru nn şi kk citite, scrieţi un program care să determine numărul minim de amestecări ale unui tablou de n linii necesar pentru a ajunge la un tablou cu exact kk elemente aflate din nou în poziţia iniţială.

Date de intrare

Fişierul de intrare spirala.in conţine pe prima linie cele două numere nn şi kk despărţite printr-un spaţiu.

Date de ieșire

Fişierul de ieşire spirala.out conţine o singură linie pe care se află numărul de amestecări determinat.

Restricții și precizări

  • 3N503 \leq N \leq 50
  • Datele de intrare sunt alese astfel încât numărul minim de amestecări necesare să nu depăşească 21092 \cdot 10^9

Exemplul 1

spirala.in

4 9

spirala.out

2

Exemplul 2

spirala.in

6 36

spirala.out

330

Log in or sign up to be able to send submissions!