A×A=B
题号:NC306693
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}对于给定的整数 b,请你判断它是否为一个完全平方数。换言之,判断是否存在这样的一个整数 a,使得 a \times a = b

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leq T\leq 10^5\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入一个整数 b\left(1\leq b\leq 10^{18}\right) 代表给定的整数 b

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。如果存在这样的整数 a,输出 \texttt{YES};否则输出 \texttt{NO}
示例1

输入

复制
4
1
4
12
24

输出

复制
YES
YES
NO
NO