#178. 201912DLOI小甲 第五题 魔术数组(2.1)

201912DLOI小甲 第五题 魔术数组(2.1)

说明

一个 N 行 N 列的二维数组, 如果它满足如下的特性, 则成为“魔术数组” :
1、 从二维数组任意选出 N 个整数。
2、 选出的 N 个整数都是在不同的行且在不同的列。
3、 在满足上述两个条件下, 任意选出来的 N 个整数的总和都是相等的。


例如, 这是一个 4×4 的二维数组:
140 80 160 60
90 30 110 10
100 40 120 20
130 70 150 50


你会发现,任意从里面选出 4 个来自不同行和不同列的整数, 它们的总和都是 340, 所以这个二维数组是“魔术数组” 。
现在给出整数 N, 给出二维数组第一行的 N 个整数, 再给出二维数组的左上角到右下角的对角线上的 N 个整数。 你的任务是根据给出的数据, 构造满足题意的“魔术数组” 。 如果有多种方案, 输出任意一种方案,如果没有方案, 输出-1
 。

输入格式

第一行, 一个整数 N。 1 <= N <= 30。
第二行, N 个整数, 表示魔术数组的第一行的 N 个整数。 每个整数范围[-1000,1000]。
第三行, N 个整数, 表示魔术数组的左上角到右下角的对角线上面的 N 个整数,每个整数范围[-1000,1000]。

输出格式

N 行 N 列的二维数组, 表示满足题意的“魔术数组” , 或者-1。

样例

提示


数据范围
50%的数据, N<=3。