#include using namespace std; int n, a; map b; int c[200000]; int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> a; for (int j = 1; j <= sqrt(a); j++) { if (a % j == 0) { b[j]++; if(j * j != a) b[a / j]++; } } } for (auto j : b) { int k = n - j.second; c[k] = max(c[k], j.first); } for (int i = 0; i < n; i++) { if(i > 0) c[i] = max(c[i], c[i - 1]); cout << c[i] << endl; } }