双子素数の積(★★★)

2 secs 1024 MB
aiblecode's icon aiblecode

問題文

正の整数 NN が与えられます。
NN が双子素数 p, p+2p, ~ p + 2 を用いて、N=p×(p+2)N = p \times (p + 2) と表せるか判定してください。

ここで、p, p+2p, ~ p + 2 が双子素数であるとは、ppp+2p + 2 の両方が素数であることを指します。

TT 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • T,NT, N は整数である
  • 1T1001 \leqq T \leqq 100
  • 1N10181 \leqq N \leqq 10^{18}

入力

入力は以下の形式で標準入力から与えられます。ここで、casei(i=1,2,,T)\mathrm{case}_i (i = 1, 2, \cdots, T)ii 番目のテストケースです。

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
\vdots
caseT\mathrm{case}_T

各テストケースは以下の形式で与えられます。

case

NN

出力

標準出力に TT 行出力し、ii 行目には ii 番目のテストケースについての答えを出力してください。

各テストケースについて、N=p×(p+2)N = p \times (p + 2)p,p+2p, p + 2 は双子素数)と表せるならば Yes 、そうでないならば No と出力してください。

サンプル

入力
5
15
63
1
1763
999998384000652863
出力
Yes
No
No
Yes
Yes

この入力では 55 個のテストケースが与えられています。1,21, 2 番目のテストケースについて、以下のことが言えます。

  • 11 個目のテストケースについて、15=3×515 = 3 \times 5 と表せます。 3,53, 5 は双子素数ですので条件を満たします。
  • 22 個目のテストケースについて、6363 は双子素数の積の形で表すことができません。

提出


Go (1.21)