[USACO2.2] 派对灯 Party Lamps

题目描述

在 IOI98 的节日宴会上,我们有 $n$ 盏彩色灯,他们分别从 $1 \sim n$ 被标上号码。这些灯都连接到四个按钮: 按钮 $1$:当按下此按钮,将改变所有的灯:本来亮着的灯就熄灭,本来是关着的灯被点亮。 按钮 $2$:当按下此按钮,将改变所有奇数号的灯。 按钮 $3$:当按下此按钮,将改变所有偶数号的灯。 按钮 $4$:当按下此按钮,将改变所有序号是 $3k+1 \ (k \in [0,+\infty) \cap \mathbb Z)$ 的灯。例如:$1,4,7,10 \dots$ 一个计数器 $c$ 记录按钮被按下的次数。当宴会开始,所有的灯都亮着,此时计数器 $c$ 为 $0$。 你将得到计数器 $c$ 上的数值和经过若干操作后某些灯的状态。写一个程序去找出所有灯最后可能的与所给出信息相符的状态,并且没有重复。

输入输出格式

输入格式


第一行一个正整数 $n$;第二行一个整数 $c$,表示最后计数器的数值。 第三行若干个整数,表示最后亮着的灯,以 `-1` 结束。 第四行若干个整数,表示最后关着的灯,以 `-1` 结束。 保证不会有灯会在输入中出现两次。

输出格式


每一行是所有灯可能的最后状态(没有重复)。 每一行有 $n$ 个字符,第 $i$ 个字符表示 $i$ 号灯。$0$ 表示关闭,$1$ 表示亮着。这些行必须从小到大排列(看作是二进制数)。 如果没有可能的状态,则输出一行 `IMPOSSIBLE`。

输入输出样例

输入样例 #1

10
1
-1
7 -1

输出样例 #1

0000000000
0101010101
0110110110

说明

【数据范围】 对于 $100\%$ 的数据,$10 \le n \le 100$,$0 \le c \le 10^4$。 【样例解释】 在这个样例中,有三种可能的状态: - 所有灯都关着 - $1,4,7,10$ 号灯关着,$2,3,5,6,8,9$ 亮着。 - $1,3,5,7,9$ 号灯关着,$2,4,6,8,10$ 亮着。 翻译来自NOCOW USACO 2.2