#P1462. 2023.08.19-JD-第二题-塔子哥修bug

2023.08.19-JD-第二题-塔子哥修bug

题目内容

塔子哥是一个勤勤恳恳的程序员,这天,他要对自己以前写的程序修一修bug了。

塔子哥有一个待修bug清单,用01串表示,其中第ii位为“0”表示该bug已经修了,为“1”表示该bug待修。

塔子哥有tt个工具能够帮他修bug,每个工具能修的bug同样也是用01串表示,其中第ii位为“1”表示该工具能够修理该bug,为“0”表示该工具不能够修理该bug。但是每个工具都有那么一点小问题,他们会引入bug,其中第ii位为“1”表示该工具进行修理后,会引入该bug。

现在,塔子哥告诉你他使用工具的顺序,他想知道,每使用一个工具后,还会剩下多少bug?

输入描述

第一行输入一个正整数nn,代表待修bug清单的长度。

第二行输入一个长度为nn的01串,代表待修bug清单内容。

第三行输入一个正整数mm,代表工具的数量。

接下来的2m2*m行,每2行描述一个工具:

第一行输入一个长度为nn的01串,代表该工具能够修理哪些bug。

第二行输入一个长度为nn的01串,代表该工具会产生哪些bug。

接下来的一行,输入一个正整数tt,代表一共使用了tt个工具

接下来的tt行,每行输入一个正整数ii,代表塔子哥使用了第ii个工具。

1n201\le n\le20

1m,t1041\le m,t\le 10^4

1im1\le i\le m

保证每个工具能够修理的bug和产生的bug不会重复。

输出描述

tt个整数,表示当前剩余的bug。

样例

输入

4
1101
2
1010
0001
1001
0100
2
2
1

输出

1
2

说明

初始时,为1101,使用工具2后,为0100,剩余一个bug。

之后使用工具1,为0110,剩余两个bug。