#include #define REP(i,n) for(int i=0; i<(int)(n); i++) #include #include inline int getInt(){ int s; scanf("%d", &s); return s; } #include using namespace std; int main(){ const int n = getInt(); vector a(n); REP(i,n) a[i] = getInt(); REP(i,n-1){ const int aa = a[i]; pair > t = make_pair(1000000000, make_pair(0, 0)); for(int j = i + 1; j < n; j++){ t = min(t, make_pair(aa * a[j] / __gcd(aa, a[j]), make_pair(a[j], j))); } swap(a[i + 1], a[t.second.second]); } REP(i,n) printf("%d ", a[i]); puts(""); return 0; }