6513 - 素数方阵

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

在图1-3-6所示的方格中,每行、每列,以及两条对角线上的数字可以看作是五位的质数。方格中的行按照从左到右的顺序组成一个质数,而列按照从上到下的顺序组成一个质数。两条对角线也是按照从左到右的顺序组成一个质数。

15654213373764.png

这些质数各个数位上的和必须相等。

左上角的数字是预先定好的。

一个质数可能在方阵中重复出现多次。

如果不只有一个解,将它们全部输出(按照这25个数字组成的25位数的大小排序)。

一个五位的质数开头不能为0(例如:00003不是五位质数)。

输入

一行包括两个用空格隔开的整数:各个位的数字和左上角的数字。

输出

找到的每一个方案输出5行,每行5个字符,每行可以转化为一个5位的质数,在两组方案中间输出一个空行。如果无解,就单独输出一行“NONE”。

样例

输入

11 1

输出

11351
14033
30323
56201
13313

11351
33203
30323
14033
33311

13313
13043
32303
50231
13331

来源

一本通提高