프로그램 명: ccc_palin
제한시간: 1 초

거의 모든 사람들은 10개의 손가락을 가지고 있습니다. 이것은 우리가 10진법에 익숙한 가장 큰 이유이기도 합니다. 257은 실제로는 2 × 10^2 + 5 × 10^1 + 7 × 10^0 인 숫자이죠. 10진법에서 각 자리의 숫자는 10보다 작은 음이 아닌 정수로 이루어져있습니다.

물론 10진법 외에도 많은 진법을 사용할 수 있습니다. 2진법, 8진법, 16진법은 다른 사람들에게 컴퓨터를 잘 한다고 자랑하곤 할 때 사용되기도 하죠. b진수로 나타내어진 숫자는 b보다 작은 음이 아닌 정수로 이루어져있고, 가장 오른쪽 자리수부터 1번째 자리라고 했을 때 b^(n-1) 을 곱하는 것으로 표현될 수 있습니다.

예를들어 10진법 9는:

10진법 9는 위의 3개의 진법으로 표현됐을 때 모두 회문임을 알 수 있습니다. 회문은 읽는 방향을 바꾸어도 변하지 않는 문자열을 말합니다. 영단어 dad, mom, racecar 등은 모두 회문입니다. 숫자에선 9, 11, 1001 같은 경우입니다.

10진수로 한 수 X가 어떤 진법 b (2 ≤ X < 1 000 000 000) 로 표현됐을 때 회문인지를 출력하는 프로그램을 작성하세요.

입력

첫 번째 줄에 X가 입력됩니다 (2 ≤ X ≤ 1 000 000 000)

출력

증가하는 순으로 한 줄마다 b를 출력합니다. b는 X를 b진법으로 표현했을 때 회문인 진법입니다. 회문일 수 있는 가장 작은 진법은 2이고, X보다 큰 진법은 언제나 회문이고 X진법은 언제나 회문이 아니기 때문에 X보다 작은 진법만 출력하면 됩니다.

입출력 예

입력

9

출력

2
8
출처:CEMC (CCC 2013 Stage 2)
번역:ladown21

[질/답] [제출 현황] [푼 후(1)]
[ 채 점 ] [홈으로]  [뒤 로]