Moltiplicare e dividere

Facciamo un gioco. Dato un intero iniziale x, sono possibili solo 2 operazioni:
  • (consentita solo se x è divisibile per 3)
Ti vengono forniti n valori, ottenuti eseguendo in modo casuale queste operazioni su un certo intero iniziale x. Il tuo obiettivo è ricostruire il corretto ordine in cui sono state eseguite le operazioni e stampare i valori nell’ordine esatto.

Input

La prima riga dell’input contiene un singolo intero n (1 ≤ n ≤ 60).
La riga successiva contiene n interi separati da spazi, che rappresentano i valori ottenuti durante il processo. Gli interi non superano in valore assoluto.

Output

Il programma deve stampare n interi separati da spazi, nell’ordine corretto.

Esempi

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

Spiegazione

 

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