啵啵小狗自动机(hard version)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

与啵啵小狗自动机(easy version)不同的是该题为多组样例,数据范围扩大。

啵啵小狗ww曾经是一个非常可爱的皮套人。是它的粉丝,为了她整夜研究算法与数据结构,在5月20日的晚上(只有没对象的人520才打),终于研究出了一个伟大的数据结构,将其称为啵啵小狗自动机

现在自动机还差最后一个步骤,他现在需要判断一个数是不是啵啵数如果不能完成这个自动机,将会口吐白沫不省人事,好心的现在请求你解决这个问题。

啵啵数指的是一个可以表示为两个平方数的差的数,例如:3可以表示为。给出若干整数,请你判断它们是不是啵啵数。

输入描述:

输入一个整数,代表有T组样例。
接下来T行,每行输入一个整数,代表询问n能否被表示成平方差的形式。

输出描述:

每组样例输出一行,如果是啵啵数,输出,否则输出
示例1

输入

复制
2
2
3

输出

复制
NO
YES

备注:

输入规模较大,C++使用cin/cout可能会超时,推荐使用scanf/printf

切割声明:
idea贡献者:cjw 
题面撰写:lsw