Операция побитового «или» для набора целых положительных чисел, записанных в двоичной системе счисления, устроена следующим образом. Результатом её применения является число, в двоичной записи которого единица устанавливается в тех разрядах, в которых содержится единица хотя бы у одного числа из набора.
В редких случаях побитовое «или» можно использовать для сложения целых положительных чисел, записанных в двоичной системе счисления. Сумма набора чисел равна их побитовому «или», если для каждого разряда имеется не более одного числа из этого набора, у которого в этом разряде находится единица. Такие наборы чисел назовём красивыми.
Задан набор целых положительных чисел a1, a2, ..., an. Необходимо построить красивый набор целых положительных чисел b1, b2, ..., bn, чтобы для всех i от 1 до n выполнялось условие bi ≥ ai, а сумма b1 + b2 + ... + bn была минимальна.
Требуется написать программу, которая по двоичной записи чисел a1, a2, ..., an определяет двоичную запись минимального значения суммы искомого красивого набора b1, b2, ..., bn.
В первой строке записано целое число n — количество чисел в наборе (2 ≤ n ≤ 300 000).
Следующие n строк содержат двоичную запись целых положительных чисел ai, по одному в строке. Числа не содержат ведущих нулей, и суммарная длина их двоичных записей не превосходит 300 000.
Требуется вывести двоичную запись минимальной суммы искомого красивого набора b1, b2, ..., bn. Ответ необходимо вывести без ведущих нулей.
Обозначим максимальную длину двоичной записи числа во входных данных как max L.

Вам будут начислены баллы за группу, только если пройдены все тесты этой группы и во всех группах, от которых она зависит. Группа 0 соответствует примерам из условия.
2 10 10
110
2 10100 1001
11101
3 1 1 110
1011
| Название |
|---|


