#p280. 习题6.2.11 质数方阵

习题6.2.11 质数方阵

题目描述

在下面的方格中,每行,每列,以及两条对角线上的数字可以看作是五位的素数。方格中的行按照从左到右的顺序组成一个素数,而列按照从上到下的顺序。两条对角线也是按照从左到右的顺序来组成。

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

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

一个素数可能在方阵中重复多次。

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

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

输入格式

一行包括两个被空格分开的整数:各数位上的数字的和 以及左上角的数字。

输出格式

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

样例数据

input


11 1

output


11351

14033

30323

53201

13313



11351

33203

30323

14033

33311



13313

13043

32303

50231

13331



数据规模与约定

usaco 4.3.2

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}