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

徐老师的二进制加法

说明

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

他先随便写了一个 nn 位的二进制数字 xx

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

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

输入格式

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

输入第二行一个长度为 nn 的二进制数字 xx,每位只有 0/10/1

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

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

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

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

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

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

输出格式

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

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

样例

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