Sắn viết một số nguyên \(x\) lên bảng, rồi lặp lại \(n-1\) lần một trong hai phép biến đổi lên số vừa viết gần nhất:
- Nếu số đó chia hết cho \(3\), có thể chia nó cho \(3\);
- Hoặc nhân nó với \(2\).
Mỗi lần biến đổi, kết quả mới được viết tiếp lên bảng. Như vậy cuối cùng trên bảng có đúng \(n\) số theo thứ tự viết.
Bạn nhận được \(n\) số trên bảng nhưng bị xáo trộn thứ tự. Hãy sắp xếp lại chúng thành thứ tự mà Sắn đã viết, tức là mỗi số (trừ số đầu) bằng đúng hai lần số đứng ngay trước nó hoặc bằng đúng một phần ba số đứng ngay trước nó.
Input
- Dòng 1: số nguyên \(n\).
- Dòng 2: \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (thứ tự tuỳ ý).
Dữ liệu đảm bảo tồn tại đáp án (và khi đó dãy khôi phục được là duy nhất).
Output
In \(n\) số nguyên trên một dòng, cách nhau bởi dấu cách: thứ tự đúng mà Sắn đã viết.
Constraints
- \(2 \le n \le 100\)
- \(1 \le a_i \le 3 \cdot 10^{18}\)
Sample Input 1
5
36 9 12 27 18
Sample Output 1
27 9 18 36 12
Sample Input 2
4
60 15 45 30
Sample Output 2
45 15 30 60
Sample Input 3
2
2 6
Sample Output 3
6 2
Explanation
Ở ví dụ 1: \(27 \to 9\) (chia 3), \(9 \to 18\) (nhân 2), \(18 \to 36\) (nhân 2), \(36 \to 12\) (chia 3).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.