g = [0] * (10 ** 6 + 1)
n = int(input())
for x in map(int, input().split()):
    g[x] += 1

ans = [0] * (n + 1)

for i in range(1, 10 ** 6 + 1):
    c = sum(g[j] for j in range(i, 10 ** 6 + 1, i))
    ans[c] = max(ans[c], i)

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

print(*ans[n:0:-1], sep='\n')