CF230B.T-primes

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

We know that prime numbers are positive integers that have exactly two distinct positive divisors. Similarly, we'll call a positive integer tt Т-prime, if tt has exactly three distinct positive divisors.

You are given an array of nn positive integers. For each of them determine whether it is Т-prime or not.

输入格式

The first line contains a single positive integer, nn ( 1<=n<=1051<=n<=10^{5} ), showing how many numbers are in the array. The next line contains nn space-separated integers xix_{i} ( 1<=xi<=10121<=x_{i}<=10^{12} ).

Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is advised to use the cin, cout streams or the %I64d specifier.

输出格式

Print nn lines: the ii -th line should contain "YES" (without the quotes), if number xix_{i} is Т-prime, and "NO" (without the quotes), if it isn't.

输入输出样例

  • 输入#1

    3
    4 5 6
    

    输出#1

    YES
    NO
    NO
    

说明/提示

The given test has three numbers. The first number 4 has exactly three divisors — 1, 2 and 4, thus the answer for this number is "YES". The second number 5 has two divisors (1 and 5), and the third number 6 has four divisors (1, 2, 3, 6), hence the answer for them is "NO".

首页