SOJ ONLINE JUDGE

거듭제곱인가?

난이도
Gold IV
출제자
pizzaroot
시간 제한
1000 ms
메모리 제한
512 MB
매개 변수 탐색브루트포스 알고리즘수학이분 탐색

정수 $N$이 주어졌을 때, $a^b=N$인 $2$ 이상의 정수 $a$, $b$가 존재한다면 Yes를, 그렇지 않다면 No를 출력하는 프로그램을 작성하라.

입력

첫 번째 줄에 테스트 케이스의 개수 $T$가 주어진다. $(1\leq T\leq10\,000)$

두 번째 줄부터 $T$개의 줄에 걸쳐 정수 $N$이 주어진다. $(1\leq N\leq10^{18})$

출력

각 테스트 케이스마다 $a^b=N$인 $2$ 이상의 정수 $a$, $b$가 존재한다면 Yes를, 그렇지 않다면 No를 한 줄에 하나씩 출력한다.

예제 입력 1

7
1
4
8
9
10
27
28

예제 출력 1

No
Yes
Yes
Yes
No
Yes
No

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.