Given an array a1, a2, ..., an of n integers, find the largest number in the array that is not a perfect square.

A number x is said to be a perfect square if there exists an integer y such that x = y2.

Input

The first line contains a single integer n (1 ≤ n ≤ 1000) — the number of elements in the array.

The second line contains n integers a1, a2, ..., an ( - 106 ≤ ai ≤ 106) — the elements of the array.

It is guaranteed that at least one element of the array is not a perfect square.

Output

Print the largest number in the array which is not a perfect square. It is guaranteed that an answer always exists.

Examples

Input

2
4 2


Output

2


Input

8
1 2 4 8 16 32 64 576


Output

32

Note

In the first sample case, 4 is a perfect square, so the largest number in the array that is not a perfect square is 2.
'''
	Arpan Tarkas
	IIITDM Jabalpur
'''
 
import sys,math
from collections import Counter
from bisect import bisect_left as bl
raw_input = lambda: sys.stdin.readline().rstrip()
r_s = lambda: raw_input().strip()                   #read str
r_ss = lambda: raw_input().split()          #read stringss
r_i = lambda: int(raw_input())              #read int
r_is = lambda: map(int, raw_input().split())#read ints
r_f = lambda: float(raw_input())            #read float
r_fs = lambda: map(Decimal, raw_input().split()) #read floats
 
#for efficiently taking lot of space separated queries on each line, use this.
r_qs = lambda: map(lambda s:map(int, s.split(' ')), sys.stdin.readlines())

if __name__ == '__main__':
    #start here
    n=r_i()
    ls=sorted(r_is(), reverse=True)
    for i in xrange(n):
        if ls[i]>=0:
            if divmod(math.sqrt(ls[i]),1)[1] != 0:
                print ls[i]
                exit(0)
        else:
            print ls[i]
            exit(0)