#include <bits/stdc++.h>
#define MAX 1000005
using namespace std;
int n;
int b[MAX];
int c[MAX];
int main(){
scanf("%d", &n);
for(int i = 1; i <= n; i++){
int x = 0;
scanf("%d", &x);
for(int i = 1; i * i <= x; i++){
if(x % i == 0){
b[i]++;
if(i * i != x)
b[x / i]++;
}
}
}
for(int i = 1; i <= MAX; i++){
if(b[i] > 0){
c[b[i]] = i;
}
}
for(int i = n - 1; i > 0; i--){
c[i] = max(c[i], c[i + 1]);
}
for(int i = 1; i <= n; i++)
printf("%d\n", c[i]);
return 0;
}
吸氧:https://www.luogu.com.cn/record/222190533
不吸氧:https://www.luogu.com.cn/record/222190949