#abc164f. [abc164_f]I hate Matrix Construction

[abc164_f]I hate Matrix Construction

题目描述

给定整数 NN 和长度为 NN 的数组 SSTTUUVV。构造一个 N×NN×N 矩阵 aa,满足以下条件:

  • ai,ja_{i,j} 是一个整数。
  • 0ai,j<2640 \leq a_{i,j} < 2^{64}
  • 如果 Si=0S_{i} = 0,则第 ii 行元素的按位与结果是 UiU_{i}
  • 如果 Si=1S_{i} = 1,则第 ii 行元素的按位或结果是 UiU_{i}
  • 如果 Ti=0T_{i} = 0,则第 ii 列元素的按位与结果是 ViV_{i}
  • 如果 Ti=1T_{i} = 1,则第 ii 列元素的按位或结果是 ViV_{i}

但是,可能存在无法满足条件的情况。

约束条件

  • 输入中的所有值都是整数。
  • 1N5001 \leq N \leq 500
  • 0Si10 \leq S_{i} \leq 1
  • 0Ti10 \leq T_{i} \leq 1
  • 0Ui<2640 \leq U_{i} < 2^{64}
  • 0Vi<2640 \leq V_{i} < 2^{64}

输入格式

从标准输入获取输入,格式如下:

NN S1S_{1} S2S_{2} ...... SNS_{N} T1T_{1} T2T_{2} ...... TNT_{N} U1U_{1} U2U_{2} ...... UNU_{N} V1V_{1} V2V_{2} ...... VNV_{N}

输出格式

如果存在满足条件的矩阵,则按以下格式之一输出其中之一:

a1,1a_{1,1} ...... a1,Na_{1,N} :: aN,1a_{N,1} ...... aN,Na_{N,N}

请注意,只要满足条件的任何矩阵均被接受。

如果不存在满足条件的矩阵,则输出 1-1

示例输入1

2
0 1
1 0
1 1
1 0

示例输出1

1 1
1 0

在示例输入1中,我们需要找到一个矩阵满足以下条件:

  • 第1行的元素按位与结果为1;
  • 第2行的元素按位或结果为1;
  • 第1列的元素按位或结果为1;
  • 第2列的元素按位与结果为0。

示例输入2

2
1 1
1 0
15 15
15 11

示例输出2

15 11
15 11