#include using namespace std; typedef long long ll; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b #define vl vector #define vii vector> #define vll vector> #define vvi vector> #define vvl vector> #define vvii vector>> #define vvll vector>> #define vst vector #define pii pair #define pll pair #define pb push_back #define all(x) (x).begin(),(x).end() #define mkunique(x) sort(all(x));(x).erase(unique(all(x)),(x).end()) #define fi first #define se second #define mp make_pair #define si(x) int(x.size()) const int mod=998244353,MAX=300005; const ll INF=15LL<<58; int main(){ std::ifstream in("text.txt"); std::cin.rdbuf(in.rdbuf()); cin.tie(0); ios::sync_with_stdio(false); map MA; for(ll a=1;a<=100000;a++){ ll n=a*a; string S=to_string(n); sort(all(S)); //while(si(S)&&S[0]=='0') S.erase(S.begin()); if(!MA.count(S)){ MA[S]=n; }else{ chmin(MA[S],n); } } int Q;cin>>Q; while(Q--){ string S;cin>>S; sort(all(S)); ll ans=INF; //while(si(S)<11) S="0"+S; while(si(S)){ if(MA.count(S)) chmin(ans,MA[S]); if(S[0]=='0'){ S.erase(S.begin()); }else{ break; } } //while(si(S)&&S[0]=='0') S.erase(S.begin()); if(ans==INF) ans=-1; cout<