eolymp
bolt
Try our new interface for solving problems

XOR

Команда известного криптоаналитика профессора Ксора работает над взломом новой Однородной Приводимой Шифрующей сети. После долгих исследований проблема взлома сети свелась к следующей задаче.

Рассмотрим двоичное представление целых чисел a1, a2, ..., an, добавив к меньшим из них ведущие нули так чтобы длина (количество цифр) всех чисел стала одинаковой. После этого переставим биты в числах, получив новые числа b1, b2, ..., bn такие что b1xorb2xor ... xorbn = 0. Здесь через xor обозначена операция побитового исключающего или.

Вам, как новичку в команде профессора, следует решить эту задачу.

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

Первая строка содержит значение n (2n50). Во второй строке заданы числа a1, a2, ..., an (1ai1018).

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

Вывести b1, b2, ..., bn. Если решения не существует, то вывести "impossible".

Замечание

В первом примере a1 = 7 = 01112, a2 = 10 = 10102, a3 = 11 = 10112. Если мы переставим биты и получим b1 = 7 = 01112, b2 = 12 = 11002, b3 = 11 = 10112, то будем иметь b1xorb2xorb3 = 0.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
3
7 10 11
Çıxış verilənləri #1
14 9 7
Giriş verilənləri #2
3
7 10 3
Çıxış verilənləri #2
impossible
Müəllif Андрей Станкевич
Mənbə 2008 Петрозаводск, Андрей Станкевич Контест 32, Сентябрь 3, Задача К