409367: GYM103492 D Primality Test

Memory Limit:256 MB Time Limit:5 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

D. Primality Testtime limit per test5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

A positive integer is called a prime if it is greater than $$$1$$$ and cannot be written as the product of two smaller positive integers. A primality test is an algorithm for determining whether an input number is a prime. For example, the Miller–Rabin primality test is a probabilistic primality test. This problem is precisely the one about the primality test.

Let's define the function $$$f(x)$$$ as the smallest prime which is strictly larger than $$$x$$$. For example, $$$f(1)=2$$$, $$$f(2)=3$$$, and $$$f(3)=f(4)=5$$$. And we use $$$\lfloor x \rfloor$$$ to indicate the largest integer that does not exceed $$$x$$$.

Now given $$$x$$$, please determine whether $$$g(x)$$$ is a prime.

$$$$$$g(x)=\left\lfloor\dfrac{f(x)+f(f(x))}{2}\right\rfloor$$$$$$

Input

The first line of the input contains an integer $$$T$$$ ($$$1 \le T \le 10^5$$$), indicating the number of test cases.

Each test case contains an integer $$$x$$$ ($$$1 \le x \le 10^{18}$$$) in a single line.

Output

For each test case, if $$$g(x)$$$ is a prime, output YES in a single line. Otherwise, output NO in a single line.

ExampleInput
2
1
2
Output
YES
NO
Note

When $$$x=1$$$, $$$f(x)=2$$$, $$$f(f(x))=f(2)=3$$$, then $$$g(x)=\left\lfloor\dfrac{2+3}{2}\right\rfloor=2$$$, which is a prime. So the output is YES.

When $$$x=2$$$, $$$f(x)=3$$$, $$$f(f(x))=f(3)=5$$$, then $$$g(x)=\left\lfloor\dfrac{3+5}{2}\right\rfloor=4$$$, which is not a prime. So the output is NO.

加入题单

上一题 下一题 算法标签: