Недавно Поликарп изучил операцию «побитового И» (она же — операция «AND») целых неотрицательных чисел. Теперь он хочет продемонстрировать учителю информатики в школе свое виртуозное владение изученной операцией.
Для этого Поликарп пришел в школу пораньше и записал на доске последовательность целых неотрицательных чисел a1, a2, ..., an. А также квадратную матрицу b размера n × n. Элемент матрицы b, стоящий в i-той строке в j-том столбце (обозначим его bij), равен:
- «побитовому И» чисел ai и aj (то есть bij = ai & aj), если i ≠ j;
- -1, если i = j.
Выписав матрицу b, Поликарп очень обрадовался и стер с доски последовательность a. Вот незадача — без этой последовательности учитель не сможет проверить правильно ли Поликарп произвел вычисления. Поликарпу срочно надо восстановить стертую последовательность чисел, иначе он не докажет, что умеет правильно считать.
Помогите Поликарпу, по матрице b восстановите последовательность чисел a1, a2, ..., an, которую он стер с доски. Поликарп не любит большие числа, поэтому каждое число в восстановленной последовательности не должно превышать 109.
Выходные данные
Выведите n целых неотрицательных чисел a1, a2, ..., an (0 ≤ ai ≤ 109) — последовательность, которую стер Поликарп. Выведенные числа разделяйте пробельными символами.
Гарантируется, что существует последовательность a, удовлетворяющая условиям задачи. Если существует несколько таких последовательностей, разрешается вывести любую.
Примечание
Если вы не знаете, что такое операция «побитовое И», можете прочитать: http://ru.wikipedia.org/wiki/Битовые_операции.