#P2034. Anti-prime Sequences

Anti-prime Sequences

题目描述

给定一个由连续整数n,n+1,n+2,,mn, n + 1, n + 2, \ldots, m组成的序列,一个“反素数序列”是这些整数的一种重新排列,使得每一对相邻的整数之和为一个合数(非素数)。例如,如果n=1n = 1m=10m = 10,其中一个这样的反素数序列是1,3,5,4,2,6,9,7,8,101, 3, 5, 4, 2, 6, 9, 7, 8, 10。这也是字典序最小的这样的序列。

我们可以通过定义dd阶反素数序列来扩展这个定义,即其中所有长度为2,3,,d2, 3, \ldots, d的连续子序列的和都为合数。上面的序列是一个22阶反素数序列,但不是33阶的,因为子序列5,4,25, 4, 2的和为1111(是素数)。对于这些数字,字典序最小的33阶反素数序列是1,3,5,4,6,2,10,8,7,91, 3, 5, 4, 6, 2, 10, 8, 7, 9

输入

输入将由多个输入集合组成。每个集合将由三个整数nnmmdd组成,在一行上。nnmmdd的值将满足1n<m10001 \leq n < m \leq 1000,且2d102 \leq d \leq 10。行0000 0 0将表示输入结束,不应进行处理。

输出

对于每个输入集合,输出一行,由一个以逗号分隔的整数列表组成,形成一个dd阶反素数序列(不要插入任何空格,也不要将输出拆分成多行)。在存在多个反素数序列的情况下,输出字典序最小的那个(即,输出第一个值最小的序列;如果第一个值相同,则输出第二个值最小的序列,以此类推)。在不存在反素数序列的情况下,输出

No anti-prime sequence exists.(不存在反素数序列。)

输入数据 1

1 10 2
1 10 3
1 10 5
40 60 7
0 0 0

输出数据 1

1,3,5,4,2,6,9,7,8,10
1,3,5,4,6,2,10,8,7,9
No anti-prime sequence exists.
40,41,43,42,44,46,45,47,48,50,55,53,52,60,56,49,51,59,58,57,54

来源

2004年美国中东部地区竞赛