Codeforces Round 479 (Div. 3) |
---|
Закончено |
Поликарп любит играть с числами. Он берет некоторое целое положительное число $$$x$$$, выписывает его на доску, и выполняет с ним $$$n - 1$$$ операцию двух видов:
После каждой операции Поликарп выписывает результат операции на доску, а число $$$x$$$ заменяет на результат операции. Таким образом, на доске окажутся ровно $$$n$$$ чисел.
Вам задана последовательность длины $$$n$$$ — числа, которые выписал Поликарп. Эта последовательность задана в произвольном порядке, то есть порядок чисел может не соответствовать порядку их записи на доску.
Ваша задача — переупорядочить элементы последовательности так, чтобы она соответствовала возможной игре Поликарпа в порядке записи чисел на доску. Таким образом, каждое следующее число в последовательности должно быть либо ровно в три раза меньше предыдущего, либо ровно в два раза больше предыдущего.
Гарантируется, что ответ существует.
Первая строка входных данных содержит целое число $$$n$$$ ($$$2 \le n \le 100$$$) — количество элементов в последовательности. Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 3 \cdot 10^{18}$$$) — переупорядоченная последовательность, которую Поликарп выписал на доску.
Выведите $$$n$$$ целых чисел — переупорядоченную последовательность из входных данных, которая может быть последовательностью, которую Поликарп выписал на доску.
Гарантируется, что ответ существует.
6
4 8 6 3 12 9
9 3 6 12 4 8
4
42 28 84 126
126 42 84 28
2
1000000000000000000 3000000000000000000
3000000000000000000 1000000000000000000
В первом примере заданную последовательность можно переупорядочить следующим образом: $$$[9, 3, 6, 12, 4, 8]$$$. Это соответствует возможной игре Поликарпа, начиная с $$$x = 9$$$.
Название |
---|