Умножение и деление

Давайте поиграем. Пусть у нас есть некоторое начальное целое число x. Допускаются только две операции:
  • (это возможно только в том случае, если x делится на 3 без остатка)
Вам дано n значений, которые получены случайным образом при применении указанных операций к некоторому начальному числу x. Ваша задача — восстановить порядок, в котором выполнялись операции, и вывести последовательность значений в правильном порядке.

Входные данные

В первой строке вводится одно целое число n (1 ≤ n ≤ 60).
Во второй строке приводятся n целых чисел, записанных через пробел, которые были получены в процессе выполнения операций. Значения этих чисел не превышают по модулю .

Выходные данные

Необходимо вывести n чисел в одной строке через пробел в том порядке, в котором они появляются при правильной последовательности операций.

Примеры

Input
Output
8 12 32 16 24
12 24 8 16 32

Пояснение

 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue