题号:NC50248
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld
题目描述
质数方阵是一个

的方阵,每行、每列、两条对角线上的数字可以看作是五位的素数。方格中的行按照从左到右的顺序组成一个素数,而列按照从上到下的顺序。两条对角线也是按照从左到右的顺序来组成。这些素数每一位上的数之和必须相等。左上角的数字是预先定好的。一个素数可能在方阵中重复多次。不计含有前导0的五位素数,如00003不是五位素数。

给出每一位上的数之和,以及左上角的数字,请输出方阵所有可能的填数方案。如果不只有一个解,将它们全部输出(按照这25个数字组成的25位数的大小排序)。
输入描述:
一行,包括两个被空格分开的整数:每一位上的数之和,以及左上角的数字。
输出描述:
一行,包括两个被空格分开的整数:每一位上的数之和,以及左上角的数字。
示例1
输出
复制
11351
14033
30323
53201
13313
11351
33203
30323
14033
33311
13313
13043
32303
50231
13331