문제 K: 임의의 진법으로 팰린드롬 확인하기

문제 K: 임의의 진법으로 팰린드롬 확인하기

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 39  통과: 17
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

컴퓨터에서 10진법 말고 주로 사용하는 진법은 2진법, 8진법, 16진법 등이며 b진법의 각 자리는 0...b-1 구간에 포함된다. 

예를 들어, 10진법의 9는 다음과 같이 작성할 수 있다.

16진법으로는 9
8진법으로는 11 (1×81 + 1×80 = 9)
2진법으로는 1001 (1×23 + 0×22 + 0×21 + 1×20 = 9)

9는 위의 세가지 진법에서 모두 팰린드롬이다. 팰린드롬이란 순서를 반대로 했을 때, 원래 순서와 같은 수열을 의미한다. 
9, 11, 110011, FAAF, A77877A 등과 같은 숫자는 팰린드롬이다.

10진법 숫자 X가 주어졌을 때, 임의의 b진법으로 나타낼 경우 팰린드롬이 가능한 b진법 수가 존재하는지를 판단하는 프로그램을 작성해 보자. 
(단, 2 ≤ b ≤ 36)



입력 설명

첫쨰줄에 테스트케이스 T가 입력된다.(1 ≤ T ≤ 50)
그 다음줄 부터 T개의 십진수 X가 한 줄씩 입력된다.(0 ≤ X ≤ 1,000,000,000)

출력 설명

10진법 숫자 X가 어떤 진법으로 나타냈을 때, 팰린드롬이 되는 경우가 하나라도 있으며 YES, 팰린드롬이 되는 어떠한 진법의 숫자도 존재하지 않으면 NO를 한 줄에 하나씩 출력한다.

입력 예시 Copy

2
255
71823

출력 예시 Copy

YES
NO

도움

255는 2진수로 11111111, 16진수로 FF 이므로 2가지 진수의 경우에 팰린드롬이 되나, 71823은 2진수부터 36진수까지 모두 변환해 봐도 팰린드롬인 경우가 발생하지 않는다.