from collections import defaultdict d = defaultdict(int) T = int(input()) se = set() def num_sort(x): li = [] for c in str(x): li.append(int(c)) li.sort() li = li[::-1] ret = 0 for i in li: ret = 10 * ret + i return ret for n in range(1, 10 ** 5): val = num_sort(n * n) if val not in d: d[val] = n * n else: d[val] = min(d[val], n * n) for _ in range(T): N = input() val = num_sort(N) ans = -1 while True: if val in d: if ans == -1: ans = d[val] else: ans = min(ans, d[val]) if val % 10 != 0: break val /= 10 print(ans)