日本信息学奥林匹克委员会决定制作一张海报,用来宣传今年的日本信息学奥林匹克(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$ 时,印上由单个英文字母 J 组成的大小为 $1 \times 1$ 的海报。
下面展示当 $N = 3$ 时,印在大小为 $8 \times 8$ 的海报上的英文字母。
JJJJOOOO JJJJOOOO JJJJOOOO JJJJOOOO IIIIJJOO IIIIJJOO IIIIIIJO IIIIIIIJ
在制作完成的海报的第 $K$ 行发现了印刷错误。
今年的日本信息学奥林匹克集训已经开始了。已经没有足够的时间委托印刷厂重新印制海报了。因此,决定通过把正确的第 $K$ 行粘贴到海报上的方式来解决这一问题。
任务
请编写一个程序,在给定整数 $N$ 和 $K$ 作为输入时,输出大小为 $2^N \times 2^N$ 的海报的第 $K$ 行。
限制
- $0 \le N \le 20$:海报的大小
- $1 \le K \le 2^N$:要输出的海报的行
输入
从标准输入读取以下内容。输入由一行组成,包含表示海报大小的整数 $N$ 和表示要输出的行的整数 $K$,以空格分隔。
输出
向标准输出输出一行,包含大小为 $2^N \times 2^N$ 的海报的第 $K$ 行。
评分标准
在占 $50$ 分的测试组中,$N$ 不超过 $10$。
样例
输入 1
1 1
输出 1
JO
输入 2
2 4
输出 2
IIIJ
输入 3
3 7
输出 3
IIIIIIJO