1e9 이하의 정수 q가 주어질 때 q가 소수의 거듭제곱인지 판별해 yes 또는 no를 출력한다.

쉬움3정수론수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

형은 경험이 많은 아마추어 수학자다. 그런데 기억력이 나빠서 어떤 크기의 유한체가 존재하는지를 늘 헷갈려 한다. 여러분에게는 쉬운 질문이다. 크기가 qq인 유한체는 qq가 소수의 거듭제곱일 때, 즉 어떤 소수 pp와 정수 k1k \ge 1에 대해 q=pkq = p^k로 쓸 수 있을 때에만 존재한다. 그리고 존재하는 경우 그 유한체는 동형인 것을 같다고 보면 하나뿐이다.

형과 나눈 대화는 대략 이랬다.

입력

정수 qq 하나가 주어진다. (1q1091 \le q \le 10^9)

출력

크기가 qq인 유한체가 존재하면 yes를, 존재하지 않으면 no를 출력한다.