众所周知,密码安全是互联网时代人们最为关心的事情之一。而 RSA 公钥加密算法是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击。
其实 RSA 公钥加密算法的原理并不复杂,它基于一个十分简单的数论事实:将两个大素数相乘十分容易,而想要对其乘积进行质因数分解却极其困难,因此可以将乘积公开作为加密密钥。
所以 RSA 算法很重要的一个过程就是得到两个大素数相乘结果。
wchhlbt 和 Lazy_sheep 想要模拟一下 RSA 算法的加密过程。现在 wchhlbt拿到了 Lazy_sheep 提供的一份素数相乘的结果,但是 Lazy_sheep 因为别的事情计算的并不认真。 所以 wchhlbt 希望你来帮他判断这些数据的正确性。
第一行为一个整数 $t\ (1\le t\le1000)$,表示数据的组数。接下来对于每组数据:
第一行为一个整数 $n\ (2\le n \le2\times10^9)$。
对于每组数据,输出一行:
如果这个数可以分解为两个素数乘积,输出YES
,否则输出NO
。