n=int(input()) a=list(map(int,input().split())) x=[0]*(10**6+1) for i in a: for j in range(1,int(i**0.5)+1): if i%j: continue x[j]+=1 if j!=i//j: x[i//j]+=1 ans=[0]*n for i in range(len(x)): if x[i]: ans[-x[i]]=i for i in range(n): if i: ans[i]=max(ans[i-1],ans[i]) print(ans[i])