#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; int gcd(int a, int b){ if(b==0) return a; return gcd(b, a%b); } int main() { int n; cin>>n; int a[10000]; bool ok[10001]={}; vector d[10001]; multiset st[10001]; for(int i=0; i>a[i]; for(int j=1; j*j<=a[i]; j++){ if(a[i]%j==0){ if(!ok[a[i]]) d[a[i]].push_back(j); st[j].insert(a[i]); if(j*ja1/x){ mnl=a1/x; mna=a1; } } ans[i]=mna; for(auto x:d[mna]){ auto itr=st[x].lower_bound(mna); st[x].erase(itr); } } for(int i=0; i