Японський комітет олімпіади з інформатики вирішив виготовити плакат для реклами зборів Японської олімпіади з інформатики (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