QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 64 MB Total points: 100

#23720. Плакат JOI

Statistics

Японський комітет олімпіади з інформатики вирішив виготовити плакат для реклами зборів Японської олімпіади з інформатики (JOI) цього року. Було створено плакат за мотивами логотипа 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
Плакат при $N = 3$

У $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

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.