from collections import defaultdict t = int(input()) d = defaultdict(lambda: float('inf')) for i in range(1, 100000): s = str(i*i) l = [0]*10 for c in s: l[int(c)] += 1 d[tuple(l)] = min(d[tuple(l)], i) for _ in range(t): n = int(input()) lis = [0]*10 for c in str(n): lis[int(c)] += 1 ans = float('inf') for i in range(lis[0]+1): lis2 = [i]+lis[1:] if tuple(lis2) in d: ans = min(ans, d[tuple(lis2)]) if ans == float('inf'): print(-1) else: print(ans*ans)