1405 - ふくそすう

時間制限 1 秒 / メモリ制限 64 MB / 得点 73 / Writer NASSUN_ei1906 / x 8 / 統計 /


TLE
1sec
MLE
64MB
得点
73

問題

二つの素数を掛け合わしたものをここでは「復素数」と呼ぶことにします。
例えば、$6$ は $2$ と $3$ の積であるため、復素数となります。
しかし、$2$ や $12$ は二つの素数の積ではないため、ここでいう復素数ではありません。
$2$ 以上の整数 $N$ が与えられるので、それが複素数であるか調べてください。
尚、入力の終わりは EOF(ファイルの終端) で表されます。

入力

入力は以下の形式で標準入力から与えられる。

$N_1$
$N_2$
$\vdots$

ファイルの終端まで入力を行う方法

C言語

while(scanf("%d", &n) != EOF){
  $\vdots$
}

C++

while(cin >> n){
  $\vdots$
}

ファイルの終わりは EOF(End Of File) で表わされます。
Windowsでは [Ctrl] + [Z] で、Linuxでは [Ctrl] + [d] で入力できます。

出力

整数 $N$ が複素数であれば YES 、そうでなければ NO と出力してください。
出力の最後には、毎回、改行を入れてください。

制約

全ての入出力ケースについて以下を満たす。

  • $2 \leq N \leq 10^{1000000}$
  • 入力の数は $10^3$ を超えない

入出力例

入力例1

6
9
15
57
33

出力例1

YES
YES
YES
YES
YES