import math n = int(input()) a = list(map(int, input().split())) m = 10 ** 6 cnt = [0 for _ in range(m + 1)] for x in a: cnt[x] += 1 dp = [0 for _ in range(m + 1)] dp[1] = n for x in range(2, m + 1): for y in range(x, m + 1, x): dp[x] += cnt[y] ans = [0 for _ in range(n)] for x in range(m, 0, -1): if dp[x] == 0: continue ans[n - dp[x]] = max(ans[n - dp[x]], x) ans[-1] = max(a) print(*ans, sep="\n")