[Beginner Free Contest 31] SQFREE
Xem dạng PDFCho một số nguyên dương ~x~ thỏa mãn ~x \ge 2~. Hãy kiểm tra xem tích các ước nguyên tố của ~x~ có nhỏ hơn ~x~ hay không. Trong trường hợp ~x~ chỉ có một ước nguyên tố, ta định nghĩa tích các ước nguyên tố của ~x~ chính là ước nguyên tố duy nhất của ~x~.
Dữ liệu
Gồm một dòng duy nhất chứa một số nguyên dương ~x~ ~(2 \le x \le 10^{18})~
Kết quả
Nếu tích các ước nguyên tố của ~x~ nhỏ hơn ~x~, in YES, ngược lại in NO
Ví dụ
Sample Input 1
2
Sample Output 1
NO
Sample Input 2
3
Sample Output 2
NO
Sample Input 3
100000000000000003
Sample Output 3
NO
Sample Input 4
4
Sample Output 4
YES
Sample Input 5
20000002800000098
Sample Output 5
YES
Giải thích
Các số 2, 3, 100000000000000003 là các số nguyên tố. Tích các ước nguyên tố của các số này là chính nó, vì thế đáp án là
NO.Phân tích ~4~ ra thừa số nguyên tố, ta có ~4 = 2^2~. Do 2 là ước nguyên tố duy nhất của 4, tích các ước nguyên tố của 4 là 2, và vì ~2 < 4~, đáp án của trường hợp này là
YESTa có ~20000002800000098 = 2 \times (10^8 + 7)^2~. Tích các ước nguyên tố của 20000002800000098 là ~2 \times (10^8 + 7)~ và nhỏ hơn 20000002800000098 nên đáp án của trường hợp này là
YES
Chấm điểm
Bộ test của bài này được chia làm hai bộ test con:
80% số test tương ứng với 40 điểm có ~2 \le x \le 10^7~
20% số test tương ứng với 10 điểm có ~10^7 < x \le 10^{18}~
Thí sinh nhận được điểm tương ứng với một bộ test con chỉ khi bài làm đưa ra đáp án đúng ở tất cả các test trong bộ test con đó.
Bình luận