#include <bits/stdc++.h>
using i64 = long long;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
int n;
std::cin >> n;
std::vector<int> ans(n);
std::unordered_map<int, int> cnt;
for (int i = 0; i < n; i++) {
int x;
std::cin >> x;
cnt[x]++;
}
for (int i = 1; i <= n; i++) {
for (int g = 1; g <= 100000; g++) {
int c = 0;
for (int mul = 0; mul <= 100000; mul += g) {
c += cnt[mul];
}
if (c >= i && c != cnt[0]) {
ans[i - 1] = std::max(ans[i - 1], g);
}
}
}
for (int i = 0; i < n; i++) {
std::cout << ans[i] << " \n"[i == n - 1];
}
}