#abc288g. [abc288_g]3^N Minesweeper

[abc288_g]3^N Minesweeper

题目描述

在位置 0,1,2,ldots,3N10, 1, 2, \\ldots, 3^N-1 中的每个位置上都有零或一个炸弹。
如果且仅当对于每个 i=1,ldots,Ni=1, \\ldots, N,满足以下条件时,位置 xxyy 互为相邻

  • xx'yy' 分别表示 xxyy 的第 ii 小的三进制位数,则 xyleq1|x' - y'| \\leq 1

已知在与位置 ii 相邻的位置处总共有 AiA_i 个炸弹。请打印出与该信息一致的炸弹布置。

约束条件

  • 1leqNleq121 \\leq N \\leq 12
  • 存在一个与 A0,A1,ldots,A3N1A_0, A_1, \\ldots, A_{3^N-1} 一致的炸弹布置。
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN A0A_0 A1A_1 ldots\\ldots A3N1A_{3^N-1}

输出

用空格分隔打印 B0,B1,ldots,B3N1B_0, B_1, \\ldots, B_{3^N-1},其中 Bi=0B_i = 0 表示位置 ii 没有炸弹,Bi=1B_i = 1 表示位置 ii 有炸弹。


示例输入 1

1
0 1 1

示例输出 1

0 0 1

位置 00 与位置 0011 相邻,它们总共有 00 个炸弹。
位置 11 与位置 001122 相邻,它们总共有 11 个炸弹。
位置 22 与位置 1122 相邻,它们总共有 11 个炸弹。
如果只在位置 22 放置一个炸弹,上述所有条件都满足,所以这种布置是正确的。


示例输入 2

2
2 3 2 4 5 3 3 4 2

示例输出 2

0 1 0 1 0 1 1 1 0

示例输入 3

2
0 0 0 0 0 0 0 0 0

示例输出 3

0 0 0 0 0 0 0 0 0