#include <unordered_set>
#include <unordered_map>
#include <bits/stdc++.h>

#define lli long long int
#define all(x) x.begin(),x.end()
#define b(x) x.begin()
#define e(x) x.end()
#define s(x) x.size()
#define vi vector<int>
#define vli vector<long long int>
#define pi pair<int,int>
#define pli pair<long long int,long long int>
#define pr pair
#define ff first
#define ss second
#define vt vector
#define um unordered_map
#define us unordered_set
#define mod 1000000007
#define pb push_back
#define pf push_front
#define endl '\n'
#define loop(i,a,b) for(lli i=a;i<b;i++)
#define loopr(i,a,b) for(lli i=a;i>=b;i--)

using namespace std;

//int dx[] = {-1,1,0,0,-1,-1,1,1};
//int dy[] = {0,0,1,-1,-1,1,-1,1};

bool sq(int n)
{
    int temp = sqrt(n);
    return (temp*temp==n);
}

void solve()
{
    int t=1;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        string ans="NO";
        if(n%2==0)
        {if(sq(n/2))ans="YES";}
        if(n%4==0)
        {if(sq(n/4))ans="YES";}
        cout<<ans<<endl;
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    #endif
    solve();
    return 0;
}
