Japoński Komitet Olimpiady Informatycznej postanowił przygotować plakat promujący tegoroczny obóz treningowy Japońskiej Olimpiady Informatycznej (JOI). Stworzono plakat z motywem logo JOI.

Na plakacie drukowanych jest $2^N \times 2^N$ liter alfabetu ułożonych w kształt kwadratu.
Gdy $N \ge 1$, kwadrat o wymiarach $2^N \times 2^N$ dzielony jest na $4$ kwadraty o wymiarach $2^{N-1} \times 2^{N-1}$. W lewym górnym kwadracie drukowana jest litera J, w prawym górnym kwadracie litera O, a w lewym dolnym kwadracie litera I. Ponadto w prawym dolnym kwadracie drukowany jest plakat o wymiarach $2^{N-1} \times 2^{N-1}$. Gdy $N = 0$, drukowany jest plakat o wymiarach $1 \times 1$ składający się z pojedynczej litery J.
Poniżej przedstawiono litery wydrukowane na plakacie o wymiarach $8 \times 8$ dla $N = 3$.
JJJJOOOO JJJJOOOO JJJJOOOO JJJJOOOO IIIIJJOO IIIIJJOO IIIIIIJO IIIIIIIJ
W $K$-tym wierszu gotowego plakatu znaleziono błąd drukarski.
Tegoroczny obóz treningowy Japońskiej Olimpiady Informatycznej już się rozpoczął. Nie ma wystarczająco dużo czasu, aby zlecić drukarni ponowny wydruk plakatu. Postanowiono więc poradzić sobie z problemem, naklejając na plakat poprawny $K$-ty wiersz.
Zadanie
Napisz program, który mając dane na wejściu liczby całkowite $N$ oraz $K$, wypisze $K$-ty wiersz plakatu o wymiarach $2^N \times 2^N$.
Ograniczenia
- $0 \le N \le 20$: Rozmiar plakatu
- $1 \le K \le 2^N$: Wiersz plakatu do wypisania
Wejście
Wczytaj ze standardowego wejścia następujące dane. Wejście składa się z jednego wiersza zawierającego liczbę całkowitą $N$ oznaczającą rozmiar plakatu oraz liczbę $K$ oznaczającą wiersz do wypisania, oddzielone spacją.
Wyjście
Wypisz na standardowe wyjście, w jednym wierszu, $K$-ty wiersz plakatu o wymiarach $2^N \times 2^N$.
Kryteria oceniania
W grupach testów wartych $50$ punktów liczba $N$ wynosi co najwyżej $10$.
Przykłady
Wejście 1
1 1
Wyjście 1
JO
Wejście 2
2 4
Wyjście 2
IIIJ
Wejście 3
3 7
Wyjście 3
IIIIIIJO