JOI 포스터 (JOI Poster)
면접 대비시간 제한1초메모리 제한1024 MB
재귀적으로 정의된 2^N × 2^N 포스터에서 K번째 행을 J, O, I 문자로 출력한다.
문제
정보올림피아드 일본위원회는 올해 일본정보올림피아드(JOI) 합숙을 홍보하기 위해 포스터를 만들기로 했다. JOI 로고를 모티프로 한 포스터가 만들어졌다.

JOI의 로고
포스터에는 2N × 2N개의 알파벳을 정사각형 모양으로 인쇄한다.
N = 1일 때에는 2N × 2N 정사각형을 4개의 2N−1 × 2N−1 정사각형으로 나누고, 왼쪽 위 정사각형에는 알파벳 J를, 오른쪽 위 정사각형에는 알파벳 O를, 왼쪽 아래 정사각형에는 알파벳 I를 인쇄한다. 또한 오른쪽 아래 정사각형에는 크기가 2N−1 × 2N−1인 포스터를 인쇄한다. N = 0일 때에는 알파벳 J 한 글자로 이루어진 크기가 1 × 1인 포스터를 인쇄한다.
아래는 N = 3일 때 크기가 8 × 8인 포스터에 인쇄할 알파벳을 나타낸 것이다.
JJJJOOOO
JJJJOOOO
JJJJOOOO
JJJJOOOO
IIIIJJOO
IIIIJJOO
IIIIIIJO
IIIIIIIJ
N = 3인 포스터
완성된 포스터의 K번째 행에서 인쇄 오류가 발견되었다.
올해 일본정보올림피아드 합숙은 이미 시작되었다. 포스터 인쇄를 업체에 다시 의뢰할 시간이 충분하지 않다. 그래서 올바른 K번째 행을 포스터에 붙이는 방식으로 대응하기로 했다.
정수 N과 K가 입력으로 주어졌을 때, 크기가 2N × 2N인 포스터의 K번째 행을 출력하는 프로그램을 작성하시오.
입력
표준 입력에서 다음을 읽는다. 입력은 1줄로 이루어지며, 포스터의 크기를 나타내는 정수 N과 출력할 행을 나타내는 K가 공백으로 구분되어 쓰여 있다.
출력
표준 출력에 한 줄로, 크기가 2N × 2N인 포스터의 K번째 행을 출력하시오.
제한
- 0 ≤ N ≤ 20, 포스터의 크기
- 1 ≤ K ≤ 2N, 출력할 포스터의 행