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')