Informatica Online Judge

  자리바꿈소수 [0245 / 00F5]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 57   Total Tried : 62


The Champion of this Problem (C++) : tlsdydaud1 - 0ms / 238byte
My Best Submission (C++) : N/A

[]

Background

소수(prime number)는 1과 자신을 제외하고는 약수가 없는 수이다. 어떤 수에서 자리수의 위치를 바꾸었을 때 소수의 여부가 달라질 수 있다. 예를 들어, 23은 소수이지만, 십의 자리와 일의 자리의 수를 바꾸어 32가 되면 소수가 아니다. 입력되는 정수의 자리수를 바꾸어서 만들어질 수 있는 소수를 출력하는 프로그램을 작성하시오. 예를 들어, 113의 자리수를 바꾸면 113, 131, 311을 만들 수 있고(자신도 포함), 이들 중에서 소수는 113, 131, 311이다.

Input

하나의 정수 n이 입력된다. (1≤n≤100,000)

Output

1. n의 자리수를 바꾸어서 만들어지는 모든 소수를 하나의 공백으로 분리하여 출력한다.
2. 출력되는 수는 크기가 작은 수부터 큰 수의 순으로 출력한다.
3. 같은 수가 중복되어 출력되면 안된다.
4. 만들어지는 소수가 없으면 0을 출력한다.

IO Example

입출력예시1>
입력
131

출력
113 131 311


입출력예시2>
입력
1003

출력
13 31 103 3001


입출력예시3>
입력
25

출력
0

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]