class dsu(): n=1 parent_or_size=[-1 for i in range(n)] def __init__(self,N): self.n=N self.parent_or_size=[-1 for i in range(N)] def merge(self,a,b): assert 0<=a0: result2.append(result[i]) return result2 def isSquare(x): #xは平方数か? ng = 3 * 10 ** 9 + 1 ok = 0 while abs(ok - ng) > 1: mid = (ok + ng) // 2 if mid * mid <= x: ok = mid else: ng = mid if ok * ok == x: return True else: return False n = int(input()) a = list(map(int,input().split())) U = dsu(n) for i in range(n): for j in range(i + 1, n): if isSquare(a[i] ** 2 + a[j] ** 2): if U.same(i, j): raise Exception U.merge(i, j)