#P9293. [ROI 2018] Addition without carry

[ROI 2018] Addition without carry

题目背景

译自 ROI 2018 Day2 T4. Сложение без переносов (Addition without carry)。

题目描述

对于一个只含自然数的集合,如果集合中所有数之和 = 集合中所有数的 OR\mathtt{OR} 和,那么我们称之为「美丽的集合」。

给出 a1ana_1\ldots a_n, 存在一个由数列 b1bnb_1\ldots b_n 组成的「美丽的集合」,且满足:

i=1n\forall i=1\ldots nbiaib_i\geq a_i, 且 bi\sum b_i 最小。

试求出新数列的 bi\sum b_i

为了简便起见,我们给出的 aia_i 均为二进制形式,你的答案也应是二进制形式。

输入格式

第一行一个整数 nn

接下来 nn 行,一行一个二进制数 aia_i

输出格式

输出得出的二进制的 bi\sum b_i

2
10
10
110
2
10100
1001
11101
3
1
1
110
1011

提示

对于所有的数据,1n3×1051 \leq n \leq 3 \times 10^5

(在二进制下)aia_i 的位数不超过 3×1053 \times 10^5,并且所有 aia_i 的位数之和不超过 3×1053\times 10^5

由于原题子任务及数据过多,在此仅挑选部分进行评测。