#include <bits/stdc++.h>
using namespace std;
const int N=1e3+1,M=2e5+1;
vector<int> V[N],G[M];
vector<int> S;
int n,A[N],Nodes[N],In[M],k,m,done[N],s,ok,cnt,ans[N];
void Deco(int x,int y){
int l=x;
for(int i=2;i*i<=x;i++){
if(l%i==0){
V[y].push_back(x/i);
G[x/i].push_back(y);
In[x/i]++;
Nodes[y]++;
}
while(l%i==0)
l/=i;
}
if(l!=1){
V[y].push_back(x/l);
G[x/l].push_back(y);
In[x/l]++;
Nodes[y]++;
}
}
void bestIn(){
k=N,m=-1;
for(int i=0;i<S.size();i++){
if(In[S[i]]<k && In[S[i]]!=0){
k=In[S[i]];
m=S[i];
}
}
if(k!=1)
return ;
In[m]=0;
for(int i=0;i<G[m].size();i++){
if(!done[G[m][i]]){
s=G[m][i];
break;
}
}
done[s]=1;
ans[s]=A[s]/m;
cnt--;
for(int i=0;i<V[s].size();i++){
if(In[V[s][i]]>0){
In[V[s][i]]--;
}
}
}
void bestNode(){
k=N,m=-1;
for(int i=1;i<=n;i++){
if(Nodes[i]<k && !done[i]){
m=i;
k=Nodes[i];
}
}
if(k==0){
printf("-1\n");
ok=1;
return ;
}
done[m]=1;
cnt--;
s=0;
for(int i=0;i<V[m].size();i++){
if(In[V[m][i]]){
if(!s){
s=V[m][i];
}
else
In[V[m][i]]--;
}
}
In[s]=0;
ans[m]=A[m]/s;
for(int i=0;i<G[s].size();i++){
if(!done[G[s][i]] && Nodes[G[s][i]]>0){
Nodes[G[s][i]]--;
}
}
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&A[i]);
Deco(A[i],i);
}
for(int i=1;i<M;i++){
if(In[i])
S.push_back(i);
}
cnt=n;
while(cnt){
k=1;
while(k==1 && cnt){
bestIn();
}
if(cnt){
bestNode();
if(ok)
return 0;
}
}
for(int i=1;i<=n;i++){
printf("%d ",ans[i]);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOPTFlMysxLE09MmU1KzE7CnZlY3RvcjxpbnQ+IFZbTl0sR1tNXTsKdmVjdG9yPGludD4gUzsKaW50IG4sQVtOXSxOb2Rlc1tOXSxJbltNXSxrLG0sZG9uZVtOXSxzLG9rLGNudCxhbnNbTl07CnZvaWQgRGVjbyhpbnQgeCxpbnQgeSl7CiAgICBpbnQgbD14OwogICAgZm9yKGludCBpPTI7aSppPD14O2krKyl7CiAgICAgICAgaWYobCVpPT0wKXsKICAgICAgICAgICAgVlt5XS5wdXNoX2JhY2soeC9pKTsKICAgICAgICAgICAgR1t4L2ldLnB1c2hfYmFjayh5KTsKICAgICAgICAgICAgSW5beC9pXSsrOwogICAgICAgICAgICBOb2Rlc1t5XSsrOwogICAgICAgIH0KICAgICAgICB3aGlsZShsJWk9PTApCiAgICAgICAgICAgIGwvPWk7CiAgICB9CiAgICBpZihsIT0xKXsKICAgICAgICBWW3ldLnB1c2hfYmFjayh4L2wpOwogICAgICAgIEdbeC9sXS5wdXNoX2JhY2soeSk7CiAgICAgICAgSW5beC9sXSsrOwogICAgICAgIE5vZGVzW3ldKys7CiAgICB9Cn0Kdm9pZCBiZXN0SW4oKXsKICAgIGs9TixtPS0xOwogICAgZm9yKGludCBpPTA7aTxTLnNpemUoKTtpKyspewogICAgICAgIGlmKEluW1NbaV1dPGsgJiYgSW5bU1tpXV0hPTApewogICAgICAgICAgICBrPUluW1NbaV1dOwogICAgICAgICAgICBtPVNbaV07CiAgICAgICAgfQogICAgfQogICAgaWYoayE9MSkKICAgICAgICByZXR1cm4gOwogICAgSW5bbV09MDsKICAgIGZvcihpbnQgaT0wO2k8R1ttXS5zaXplKCk7aSsrKXsKICAgICAgICBpZighZG9uZVtHW21dW2ldXSl7CiAgICAgICAgICAgIHM9R1ttXVtpXTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgZG9uZVtzXT0xOwogICAgYW5zW3NdPUFbc10vbTsKICAgIGNudC0tOwogICAgZm9yKGludCBpPTA7aTxWW3NdLnNpemUoKTtpKyspewogICAgICAgIGlmKEluW1Zbc11baV1dPjApewogICAgICAgICAgICBJbltWW3NdW2ldXS0tOwogICAgICAgIH0KICAgIH0KfQp2b2lkIGJlc3ROb2RlKCl7CiAgICBrPU4sbT0tMTsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBpZihOb2Rlc1tpXTxrICYmICFkb25lW2ldKXsKICAgICAgICAgICAgbT1pOwogICAgICAgICAgICBrPU5vZGVzW2ldOwogICAgICAgIH0KICAgIH0KICAgIGlmKGs9PTApewogICAgICAgIHByaW50ZigiLTFcbiIpOwogICAgICAgIG9rPTE7CiAgICAgICAgcmV0dXJuIDsKICAgIH0KICAgIGRvbmVbbV09MTsKICAgIGNudC0tOwogICAgcz0wOwogICAgZm9yKGludCBpPTA7aTxWW21dLnNpemUoKTtpKyspewogICAgICAgIGlmKEluW1ZbbV1baV1dKXsKICAgICAgICAgICAgaWYoIXMpewogICAgICAgICAgICAgICAgcz1WW21dW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIEluW1ZbbV1baV1dLS07CiAgICAgICAgfQogICAgfQogICAgSW5bc109MDsKICAgIGFuc1ttXT1BW21dL3M7CiAgICBmb3IoaW50IGk9MDtpPEdbc10uc2l6ZSgpO2krKyl7CiAgICAgICAgaWYoIWRvbmVbR1tzXVtpXV0gJiYgTm9kZXNbR1tzXVtpXV0+MCl7CiAgICAgICAgICAgIE5vZGVzW0dbc11baV1dLS07CiAgICAgICAgfQogICAgfQp9CmludCBtYWluKCkKewogICAgc2NhbmYoIiVkIiwmbik7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgc2NhbmYoIiVkIiwmQVtpXSk7CiAgICAgICAgRGVjbyhBW2ldLGkpOwogICAgfQogICAgZm9yKGludCBpPTE7aTxNO2krKyl7CiAgICAgICAgaWYoSW5baV0pCiAgICAgICAgICAgIFMucHVzaF9iYWNrKGkpOwogICAgfQogICAgY250PW47CiAgICB3aGlsZShjbnQpewogICAgICAgIGs9MTsKICAgICAgICB3aGlsZShrPT0xICYmIGNudCl7CiAgICAgICAgICAgIGJlc3RJbigpOwogICAgICAgIH0KICAgICAgICBpZihjbnQpewogICAgICAgICAgIGJlc3ROb2RlKCk7CiAgICAgICAgICAgaWYob2spCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgcHJpbnRmKCIlZCAiLGFuc1tpXSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==