Hadamard 矩阵是一个由 $\pm 1$ 组成的方阵,其任意两行均正交。两个向量 $(a_1, \dots, a_n)$ 和 $(b_1, \dots, b_n)$ 被称为正交的,当且仅当 $a_1b_1 + \dots + a_nb_n = 0$。$k$ 阶规范 Hadamard 矩阵是一个大小为 $2^k$ 的方阵,定义如下:
$$ \begin{cases} A_0 = (1) \\ A_k = \begin{pmatrix} A_{k-1} & A_{k-1} \\ A_{k-1} & -A_{k-1} \end{pmatrix} \end{cases} $$
在你的论文中,你研究了具有某些特殊性质的 Hadamard 矩阵。你需要为标题制作一张漂亮的矩阵图片。你认为如果矩阵的主对角线是一个序列 $x_1, \dots, x_n$(更正式地说,$a_{i,i} = x_i$,对于所有 $1 \le i \le n$,其中 $x_i = \pm 1$),那么这个矩阵就是漂亮的。当然,矩阵应该以某种方式与 Hadamard 矩阵相关,因此你决定取一个规范 Hadamard 矩阵,并通过重排其行,使其变得漂亮。
输入格式
第一行包含一个整数 $k$ ($0 \le k \le 20$),表示矩阵的阶数。第二行包含一个长度为 $2^k$ 的字符串,仅由字符 “+” 和 “-” 组成:表示主对角线上应出现的数值符号。
输出格式
如果存在解,输出 $2^k$ 个从 $1$ 到 $2^k$ 的不同整数。其中第 $i$ 个整数表示规范矩阵中应放置在第 $i$ 行的行号。
如果不存在解,输出 “Impossible”(不含引号)。
样例
输入 1
2 +-++
输出 1
3 4 2 1