XOR
XOR
Команда известного криптоаналитика профессора Ксора работает над взломом новой Однородной Приводимой Шифрующей сети. После долгих исследований проблема взлома сети свелась к следующей задаче.
Рассмотрим двоичное представление целых чисел a1
, a2
, ..., an
, добавив к меньшим из них ведущие нули так чтобы длина (количество цифр) всех чисел стала одинаковой. После этого переставим биты в числах, получив новые числа b1
, b2
, ..., bn
такие что b1
xorb2
xor ... xorbn
= 0. Здесь через xor обозначена операция побитового исключающего или.
Вам, как новичку в команде профессора, следует решить эту задачу.
Входные данные
Первая строка содержит значение n (2 ≤ n ≤ 50). Во второй строке заданы числа a1
, a2
, ..., an
(1 ≤ ai
≤ 1018
).
Выходные данные
Вывести b1
, b2
, ..., bn
. Если решения не существует, то вывести "impossible".
Замечание
В первом примере a1
= 7 = 01112
, a2
= 10 = 10102
, a3
= 11 = 10112
. Если мы переставим биты и получим b1
= 7 = 01112
, b2
= 12 = 11002
, b3
= 11 = 10112
, то будем иметь b1
xorb2
xorb3
= 0.
3 7 10 11
14 9 7
3 7 10 3
impossible