program tosquare;
var a, b : longint;
k : integer;
procedure tosquare(var x : longint);
var j, i : integer;
begin
j := 0;
i := round(sqrt(x));
while (i > 0) do
begin
if (sqr(j) > x) then
begin
writeln('No');
break;
end
else if ((sqr(j) + sqr(i)) = x) then
begin
writeln('Yes');
break;
end
else if ((sqr(j) + sqr(i)) < x) then
inc(j)
else dec(i);
end;
end;
begin
readln(a);
for k := 1 to a do
begin
readln(b);
tosquare(b);
end
end.
cHJvZ3JhbSB0b3NxdWFyZTsKCnZhciBhLCBiIDogbG9uZ2ludDsKICAgIGsgICAgOiBpbnRlZ2VyOwoKcHJvY2VkdXJlIHRvc3F1YXJlKHZhciB4IDogbG9uZ2ludCk7CnZhciBqLCBpIDogaW50ZWdlcjsKICAgIApiZWdpbgogIGogOj0gMDsKICBpIDo9IHJvdW5kKHNxcnQoeCkpOwogIAogIHdoaWxlIChpID4gMCkgZG8KICAgIGJlZ2luCiAgICAgIGlmIChzcXIoaikgPiB4KSB0aGVuCiAgICAgICAgYmVnaW4KICAgICAgICAgIHdyaXRlbG4oJ05vJyk7CiAgICAgICAgICBicmVhazsKICAgICAgICBlbmQKICAgICAgZWxzZSBpZiAoKHNxcihqKSArIHNxcihpKSkgPSB4KSB0aGVuCiAgICAgICAgYmVnaW4KICAgICAgICAgIHdyaXRlbG4oJ1llcycpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgZW5kCiAgICAgIGVsc2UgaWYgKChzcXIoaikgKyBzcXIoaSkpIDwgeCkgdGhlbgogICAgICAgIGluYyhqKQogICAgICBlbHNlIGRlYyhpKTsKICAgIGVuZDsKZW5kOwoKYmVnaW4KICByZWFkbG4oYSk7CiAgZm9yIGsgOj0gMSB0byBhIGRvCiAgICBiZWdpbgogICAgICByZWFkbG4oYik7CiAgICAgIHRvc3F1YXJlKGIpOwogICAgZW5kCmVuZC4K