Cerința
Se dă un șir a
0
, a
1
, …, a
n-1
de numere naturale nenule. Trebuie să rearanjați elementele șirului astfel încât pe orice poziție i
(i=0..n-1
) să se afle un număr care are în baza 2 bitul i
setat la 1
.
Date de intrare
Programul citește de la tastatură numărul n
, iar de pe linia a doua, separate prin spații, șirul a
0
, a
1
, …, a
n-1
.
Date de ieșire
Programul va afișa pe ecran șirul de numere rearanjat astfel încât să fie îndeplinite condițiile cerute.
Restricții și precizări
2 ≤ n ≤ 60
1 ≤ a
i
< 2
60
- Este garantat că pentru datele de intrare va exista cel puțin o soluție.
- Dacă există mai multe soluții, puteți afișa oricare din ele.
Exemplu:
Intrare
5 4 7 5 17 8
Ieșire
5 7 4 8 17
Explicație
Pe poziția 0
se află valoarea 5
care are reprezentarea 101
în baza 2
, pe poziția 0
aflându-se un bit 1
.
Pe poziția 1
se află valoarea 7
care are reprezentarea 111
în baza 2
, pe poziția 1
aflându-se un bit 1
.
Pe poziția 2
se află valoarea 4
care are reprezentarea 100
în baza 2
, pe poziția 2
aflându-se un bit 1
.
Pe poziția 3
se află valoarea 8
care are reprezentarea 1000
în baza 2
, pe poziția 3
aflându-se un bit 1
.
Pe poziția 4
se află valoarea 17
care are reprezentarea 10001
în baza 2
, pe poziția 4
aflându-se un bit 1
.