Q1002: Anti-prime Sequences
问题描述
给定一个连续整数序列n, n+1, n+2, … , m,一个反素数序列是这些整数的一个重排,使得每对相邻的整数和为合数。例如,若n = 1且m = 10,那么1, 3, 5, 4, 2, 6, 9, 7, 8, 10就是一个反素数序列。它也是按字典顺序的第一个这样的序列。
我们可以扩展此定义,度d反素数序列是相邻d个整数之和为合数的这种序列。所以,之前的序列是一个度2反素数序列,但是不是度3的,因为子列5, 4, 2和为11。这些数按字典顺序的第一个度3反素数序列为1, 3, 5, 4, 6, 2, 10, 8, 7, 9。
输入格式
输入包含多组输入集。每个输入集包含同一行的三个整数,n, m和d。n, m和d的值满足1≤n<m≤1000和2≤d≤10。以一行0 0 0(此行不需处理)代表输入的结束。
输出格式
对于每个输入集,输出一行以逗号隔开的整数列,此整数列组成一个度d反素数序列(不要插入任何空格并且输出不要跨越多行)。
如果不存在反素数序列,则输出“No anti-prime sequence exist.”。
输入样例
1 10 2
1 10 3
1 10 5
40 60 7
0 0 0
输出样例
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