소수 없는 수열
시간 제한1초메모리 제한128 MB
n부터 m까지의 수를 배열해 길이 2부터 d까지 연속한 수의 합이 모두 소수가 아니게 하는 사전순 최소 순열을 구하거나, 없으면 없다고 출력한다.
문제
부터 까지의 연속한 정수로 이루어진 수열 이 있다. 이 수들의 순서를 적절히 바꾸어 인접한 두 수의 합이 모두 소수가 아니게 만들 수 있으며, 이렇게 만든 수열을 소수 없는 수열이라고 한다.
예를 들어 , 일 때 1, 3, 5, 4, 2, 6, 9, 7, 8, 10은 소수 없는 수열 중 하나이며, 그러한 수열 가운데 사전순으로 가장 앞선다.
이를 확장하여, 차 소수 없는 수열이란 연속한 개의 수의 합이 모두 소수가 아닌 수열을 말한다. 위 예의 수열은 인접한 두 수의 합이 모두 소수가 아니므로 차 소수 없는 수열이다. 하지만 연속한 세 수 5, 4, 2의 합이 11로 소수이므로 차 소수 없는 수열은 아니다. , 에서 차 소수 없는 수열 중 사전순으로 가장 앞선 것은 1, 3, 5, 4, 6, 2, 10, 8, 7, 9이다.
, , 가 주어질 때, 사전순으로 가장 앞선 차 소수 없는 수열을 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 세 정수 , , 가 공백으로 구분되어 주어지며, , 을 만족한다.
입력의 마지막 줄에는 이 주어지며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 차 소수 없는 수열을 쉼표(,)로 구분하여 한 줄에 출력한다. 조건을 만족하는 수열이 여러 개이면 사전순으로 가장 앞선 것(첫 번째 수가 가장 작고, 같으면 두 번째 수가 가장 작은 식)을 출력한다.
차 소수 없는 수열이 존재하지 않으면 No anti-prime sequence exists.를 출력한다.