시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB422100.000%

문제

Операция побитового <<или>> для набора целых положительных чисел, записанных в двоичной системе счисления, устроена следующим образом. Результатом её применения является число, в двоичной записи которого единица устанавливается в тех разрядах, в которых содержится единица хотя бы у одного числа из набора.

В редких случаях побитовое <<или>> можно использовать для сложения целых положительных чисел, записанных в двоичной системе счисления. Сумма набора чисел равна их побитовому <<или>>, если для каждого разряда имеется не более одного числа из этого набора, у которого в этом разряде находится единица. Такие наборы чисел назовём красивыми.

Задан набор целых положительных чисел $a_1, a_2, \ldots, a_n$. Необходимо построить красивый набор целых положительных чисел $b_1, b_2, \ldots, b_n$, чтобы для всех $i$ от $1$ до $n$ выполнялось условие $b_i \ge a_i$, а сумма $b_1+b_2+\ldots+b_n$ была минимальна.

Требуется написать программу, которая по двоичной записи чисел $a_1, a_2, \ldots, a_n$ определяет двоичную запись минимального значения суммы искомого красивого набора $b_1, b_2, \ldots, b_n$.

입력

В первой строке записано целое число $n$ --- количество чисел в наборе ($2 \leq n \leq 300\,000$).

Следующие $n$ строк содержат двоичную запись целых положительных чисел $a_i$, по одному в строке. Числа не содержат ведущих нулей, и суммарная длина их двоичных записей не превосходит~$300\,000$.

출력

Требуется вывести двоичную запись минимальной суммы искомого красивого набора $b_1, b_2, \ldots, b_n$. Ответ необходимо вывести без ведущих нулей.

서브태스크

Обозначим максимальную длину двоичной записи числа во входных данных как $\max L$.

В подзадачах 6 -- 8 дополнительно $a_i = 2^{k_i}$ для некоторого $k_i$.

번호배점제한
14

$n = 2$, $\max L \le 10$

22

$n = 2$, $\max L \le 20$

32

$n = 2$, $\max L \le 100$

42

$n = 2$, $\max L \le 1000$

52

$n = 2$, $\max L \le 300\,000$

64

$n \le 100$, $\max L \le 100$

74

$n \le 1000$, $\max L \le 1000$

84

$n \le 300\,000$, $\max L \le 300\,000$

94

$n \le 5$, $\max L \le 5$

104

$n \le 5$, $\max L \le 1\,000$

114

$n \le 1\,000$, $\max L \le 5$

124

$n \le 10$, $\max L \le 10$

134

$n \le 50$, $\max L \le 50$

147

$n \le 100$, $\max L \le 100$

157

$n \le 300$, $\max L \le 300$

168

$n \le 1000$, $\max L \le 1000$

178

$n \le 3000$, $\max L \le 3000$

186

$n \le 10\,000$, $\max L \le 10\,000$

197

$n \le 30\,000$, $\max L \le 30\,000$

207

$n \le 100\,000$, $\max L \le 100\,000$

216

$n \le 300\,000$, $\max L \le 300\,000$

예제 입력 1

2
10
10

예제 출력 1

110

예제 입력 2

2
10100
1001

예제 출력 2

11101

예제 입력 3

3
1
1
110

예제 출력 3

1011

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.