C0250 [2004普及组-C]FBI树

内存限制:256 MB 时间限制:1000 ms

题目描述

我们可以把由 “0” 和 “1” 组成的字符串分为三类:全 “0” 串称为 $B$ 串,全 “1” 串称为 $I$ 串,既含 “0” 又含 “1” 的串则称为 $F$ 串。

$FBI$ 树是一种二叉树,它的结点类型也包括 $F$ 结点,$B$ 结点和 $I$ 结点三种。由一个长度为 $2^N$ 的 “01” 串 $S$ 可以构造出一棵 $FBI$ 树 $T$,递归的构造方法如下:

  1. $T$ 的根结点为 $R$,其类型与串 $S$ 的类型相同;
  2. 若串 $S$ 的长度大于 $1$,将串 $S$ 从中间分开,分为等长的左右子串 $S_1$ 和 $S_2$;由左子串 $S_1$ 构造 $R$ 的左子树 $T_1$,由右子串 $S_2$ 构造 $R$ 的右子树 $T_2$。

现在给定一个长度为 $2^N$ 的 “01” 串,请用上述构造方法构造出一棵 $FBI$树,并输出它的后序遍历序列。

输入格式

第一行是一个整数 $N(0 \le N \le 10)$,第二行是一个长度为 $2N$ 的 “01” 串。

输出

包括一行,这一行只包含一个字符串,即 $FBI$ 树的后序遍历序列。

样例

样例输入 1

3 10001011

样例输出 1

IBFBBBFIBFIIIFF

提示

【数据规模】
对于40%的数据,$N \le 2$;
对于全部的数据,$N \le 10$。