#include<bits/stdc++.h>
#include<stdlib.h>
#include <unordered_map>
#include <functional>
#include <string>
#include <utility>
//#include <boost/functional/hash.hpp>
using namespace std;
 
#define loop0(i,a) for(i=0;i<a;i++)
#define loop1(i,a) for(i=1;i<=a;i++)
#define loop(i,a,b) for(i=a;i<=b;i++)
#define rloop(i,a,b) for(i=a;i>=b;i--)
#define in(a,n) loop0(i,n){ll x;cin>>x;a.pb(x);}
#define vi vector <int>
#define vll vector <long long>
#define vvi vector <vector <int>>
#define ll long long
#define pb push_back
#define all(x) x.begin(),x.end()
#define mp make_pair
#define MS0(x) memset(x,0,sizeof(x))
#define MS1(x) memset(x,1,sizeof(x))
#define MEM(a,val) memset( a,  val,  sizeof(a) )
#define SORT(a) sort(all(a))
#define SORTD(a) sort(all(a),greater <ll>())
#define REV(a,n) reverse(begin(a),begin(a)+n)
#define printv(a) for(i=0;i<a.size();i++){cout<<a[i]<<" ";}cout<<"\n";
#define printm(a) for(auto xxx:a){cout<<xxx.ff<<"  "<<xxx.ss<<"\n";}
#define pii pair<int,int>
#define count_1(x) __builtin_popcountll(x)
#define ff first
#define ss second
#define endl "\n"
#define strinp(str) cin.ignore();getline(cin,str)
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);
#define test ll totaltestcases;cin>>totaltestcases;ll testcase;for(testcase=1;testcase<=totaltestcases;testcase++)
#define lead0(x) __builtin_clz(x);
#define trail0(x) __builtin_ctz(x);
#define tobinary(x) bitset<8>(x).to_string();
ll modpow(ll a,ll b, ll MOD) {ll res=1;a%=MOD;for(;b;b>>=1){if(b&1)res=res*a%MOD;a=a*a%MOD;}return res;}
template<typename T>static T mod(T a, T m){a %= m;if (a < 0)a += m;return a;}
template<typename T>static T inv(T a, T m){a = mod(a, m);if(a <= 1)return a;return mod((1 - inv(m%a, a) * m) / a, m);}
//sieve of eronthesis
int sieve(ll mxN, vector<ll> &prime){ll p[mxN+1];MS1(p);for(int i=2;i*i<=mxN;i++){if(p[i]==1){prime.pb(i);for(int j=i*i;j<=mxN;j+=i){p[j]=0;}}}return 0;}
struct hashp {
    template <class T1, class T2>
    std::size_t operator () (const std::pair<T1,T2> &p) const {
        auto h1 = std::hash<T1>{}(p.first);
        auto h2 = std::hash<T2>{}(p.second);
        return h1 ^ h2;  
    }
};



ll i=0,j=0;
ll M=1e9 + 7;
const int mxN=1e5;

int main() {
	fastio
	    test{ //testcase nuber can be accessed using "testcase"
           ll n;
           cin>>n;
           if(n&1)cout<<"NO\n";
           else {
               ll two = n/2;
               ll temp = sqrt(two);
               if(temp*temp == two){
                   cout<<"YES\n";
                   continue;
               }
               if(n%4==0){
                ll four = n/4;
                ll temp1 = sqrt(four);
                if(temp1*temp1 == four){
                    cout<<"YES\n";
                    continue;
                }
            }

            cout<<"NO\n";
               

           }
		}
	return 0;
}
