C = {i:set() for i in range(1,11)} D = {} for i in range(1,10**9+1): j = i*i if j>10**9:break j = sorted(list(str(j))) n = j.count("0") j = j[n:] flag = False for k in range(n+1): if tuple(j) in C[len(j)]: flag = True break j = ["0"]+j if not flag: j = j[1:] C[len(j)].add(tuple(j)) D[tuple(j)] = i*i T = int(input()) for _ in range(T): N = str(int(input())) n = N.count("0") N = sorted(list(N)) N = N[n:] ans = -1 for i in range(n+1): if tuple(N) in C[len(N)]: ans = D[tuple(N)] break N = ["0"]+N print(ans)