#icpc2013summerday4f. [icpc2013summer_day4_f]Graph Automata Player

[icpc2013summer_day4_f]Graph Automata Player

问题描述

您和您的奶奶正在玩图形自动机,这是细胞自动机的一种推广。

图形自动机由一个图形表示。图形的顶点具有时间相关的值,可以是0或1。任意两个顶点之间最多只有一条边,但可能存在自环。

顶点的值根据以下规则定期变化:在时间t+1t+1时,如果从顶点ii到一个在时间tt时具有值1的顶点的边数为奇数,则顶点ii的值为1;否则为0。

现在,您健忘的奶奶忘记了自动机的过去状态。您的任务是编写一个程序,从当前时间和状态中恢复过去的状态-时间机器太贵了。可能有多个候选状态或没有一致的状态。对于这种情况,您必须打印出适当的错误消息。


输入

输入的格式如下:

NN
a11a_{11} ... a1Na_{1N}
:
:
aN1a_{N1} ... aNNa_{NN}
v1v_1
:
:vNv_N
TT

第一行包含一个整数NN2N3002 \leq N \leq 300)。NN表示顶点的数量。接下来的NN行表示图的邻接矩阵。当(i,j)(i,j)元素为1时,表示从顶点ii到顶点jj有一条边。否则,表示没有边。接下来的NN行表示顶点的值向量。第ii个元素表示顶点ii在时间0的值。矩阵和向量的每个元素都可以是0或1。最后一行包含一个整数TT1T100,000,0001 \leq T \leq 100,000,000)。T-T是您的奶奶想要了解的时间点的状态。

输出

以以下形式打印时间T-T的值向量,每个值之间用一个空格分隔在一行中:

v1v_1 ... vNv_N

每个值必须用一个空格分隔开。如果没有一致的值向量,则应在一行中打印none。如果有多个候选者且解不唯一(即解不唯一),则应在一行中打印ambiguous


示例输入1

2
1 1
0 1
1
1
1

示例输入1的输出

0 1

示例输入2

2
0 1
0 0
1
0
1

示例输入2的输出

ambiguous

示例输入3

2
0 1
0 0
1
0
2

示例输入3的输出

none

来源名称

Summer Camp 2013