Японский комитет олимпиады по информатике решил изготовить плакат для рекламы сборов Японской олимпиады по информатике (JOI) этого года. Был создан плакат по мотивам логотипа JOI.

На плакате в форме квадрата печатаются $2^N \times 2^N$ латинских букв.
При $N \ge 1$ квадрат $2^N \times 2^N$ делится на $4$ квадрата размера $2^{N-1} \times 2^{N-1}$: в левом верхнем квадрате печатаются буквы J, в правом верхнем квадрате — буквы O, а в левом нижнем квадрате — буквы I. Кроме того, в правом нижнем квадрате печатается плакат размера $2^{N-1} \times 2^{N-1}$. При $N = 0$ печатается плакат размера $1 \times 1$, состоящий из одной буквы J.
Ниже показаны буквы, которые печатаются на плакате размера $8 \times 8$ в случае $N = 3$.
JJJJOOOO JJJJOOOO JJJJOOOO JJJJOOOO IIIIJJOO IIIIJJOO IIIIIIJO IIIIIIIJ
В $K$-й строке готового плаката обнаружилась опечатка.
Сборы Японской олимпиады по информатике этого года уже начались. Времени на то, чтобы снова заказать печать плаката в типографии, уже нет. Поэтому было решено исправить ситуацию, наклеив на плакат правильную $K$-ю строку.
Задача
Напишите программу, которая по данным на входе целым числам $N$ и $K$ выводит $K$-ю строку плаката размера $2^N \times 2^N$.
Ограничения
- $0 \le N \le 20$: размер плаката
- $1 \le K \le 2^N$: выводимая строка плаката
Входные данные
Считайте из стандартного потока ввода следующие данные. Входные данные состоят из одной строки, в которой через пробел записаны целое число $N$, обозначающее размер плаката, и число $K$, обозначающее номер выводимой строки.
Выходные данные
Выведите в стандартный поток вывода в одной строке $K$-ю строку плаката размера $2^N \times 2^N$.
Критерии оценки
В группах тестов стоимостью $50$ баллов $N$ не превышает $10$.
Примеры
Входные данные 1
1 1
Выходные данные 1
JO
Входные данные 2
2 4
Выходные данные 2
IIIJ
Входные данные 3
3 7
Выходные данные 3
IIIIIIJO