N = int(input()) A = list(map(int, input().split())) M = max(A) ct = [0]*(M+1) for a in A: ct[a] += 1 ans = [0]*(N+1) for i in range(1, M+1): c = 0 for j in range(i, M+1, i): c += ct[j] ans[N-c] = i for i in range(N): ans[i+1] = max(ans[i], ans[i+1]) print(*ans[:-1], sep='\n')