#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { int N; cin >> N; vector A; vector ans; for (int i = 0; i < N; ++i) { int a; cin >> a; A.push_back(a); } ans.push_back(A[0]); for (int i = 1; i <= N - 1; ++i) { int min_v = INT_MAX; int best_idx = 0; for (int j = i; j < N; ++j) { int v = A[j]; int l = lcm(A[i - 1], v); if (min_v > l) { min_v = l; best_idx = j; } else if (min_v == l && A[best_idx] > A[j]) { best_idx = j; } } ans.push_back(A[best_idx]); swap(A[i], A[best_idx]); } for (int i = 0; i < N; ++i) { cout << ans[i]; if (i + 1 < N) cout << " "; } cout << endl; return 0; }