#1574. 徐老师的二进制加法

徐老师的二进制加法

说明

徐老师最近刚刚学习了二进制加法,现在他希望自己出一些题目来锻炼一下自己

他先随便写了一个 $n$ 位的二进制数字 $x$

接下来他会进行 $m$ 次加法运算,每次运算就是给 $x$ 加上 $2^k$ 对应的二进制数字

但是他突发奇想,想知道每次运算后有多少位会变化,你能告诉他吗?

输入格式

输入第一行包含一个整数 $n$ 表示二进制位数

输入第二行一个长度为 $n$ 的二进制数字 $x$,每位只有 $0/1$

接下来一个整数 $m$ 表示徐老师要进行加法的次数

接下来 $m$ 行,每行一个整数 $k$ 表示这次加法要加的数字为 $2^k$ 对应的二进制数字
对于 $20\%$ 的数据,$1\leq n,m\leq 10$;

对于 $40\%$ 的数据,$1\leq n,m\leq 10^3$;

对于 $70\%$ 的数据,$1\leq n,m\leq 10^5$;

对于 $100\%$ 的数据,$1\leq n,m\leq 10^6$。

对于所有数据保证 $0 \leq k \leq n - 1$

输出格式

首先对于每次询问输出此次加法以后变化的位数

最后输出一个二进制数字,表示计算全部结束后 $x$ 的值

样例

3
110
6
2
2
1
2
2
2
2
1
4
1
2
1
11100