n = int(input())
M = 10**6+5
L = [0]*M
for a in map(int,input().split()):
    L[a] += 1

ans = [1]*(n+1)
for i in range(2,M)[::-1]:

    count = 0
    for j in range(i,M,i):
        count += L[j]
    ans[n-count] = max(ans[n-count],i)

for i in range(n):
    print(ans[i])
    ans[i+1] = max(ans[i],ans[i+1])