问题陈述
Takahashi喜欢三个整数B1,B2和B3。
他将在一个N×N的网格中写入整数,使得它包含许多垂直或水平的连续段,其和为他最喜欢的数字。
例如,如果他将数字写入如下,并且他最喜欢的数字是13,那么标记为红色的段将具有期望的和。

设A1,A2,A3分别为和为B1,B2,B3的垂直或水平段的数量。那么他将获得A1×B1+A2×B2+A3×B3分。
然而,Takahashi所能在网格中写的数字有一些限制。在每个方格上,他必须写一个介于此方格指定的下限和上限之间的数字。
在从上至下的第i行、从左至右的第j列的方格上,他必须写一个介于li,j和ri,j(包括边界)之间的数字。
找到一种方法,使得Takahashi获得尽可能多的分数。
这是一个所谓的“马拉松”问题,你不需要找到最优解。任何有效的解决方案都将得分。
约束条件
- N=30
- 10≤B1≤19
- 20≤B1≤29
- 30≤B1≤39
- 1≤li,j≤ri,j≤9
输入格式
输入以以下格式从标准输入给出:
N B1 B2 B3
l1,1 l1,2 … l1,N
l2,1 l2,2 … l2,N
:
lN,1 lN,2 … lN,N
r1,1 r1,2 … r1,N
r2,1 r2,2 … r2,N
:
rN,1 rN,2 … rN,N
输出格式
设Ai,j为第i行、第j列方格上要写入的数字。以以下格式打印你的解决方案:
A1,1 A1,2 … A1,N
A2,1 A2,2 … A2,N
:
AN,1 AN,2 … AN,N
如果对于每个Ai,j都满足li,j≤Ai,j≤ri,j,则你的解决方案将被视为有效,并根据问题陈述获得分数。
如果你的输出不被视为有效解决方案,则在几乎所有测试用例中得分为0。
输入生成
- B将在约束条件中指定的范围内均匀随机生成。
- li,j和ri,j将在1到9(包括边界)之间独立地均匀随机生成,每个方格独立生成。如果li,j大于ri,j,它们将被交换。
样例输入、输出和其他说明
样例输入、输出(示例01至03)以及一个验证输入和输出的程序(C++)可以在此处找到。