编程题
### 问题描述
辉神的屏幕上显示出了一个排列 $A$ 以及它的一个非空子序列 $B$。在规则中,辉神需要给出一个 $x$ 并进行若干次操作,每一次操作他都需要在 $A$ 中选择一个长度恰好为 $x$ 的区间并删除它的最小值。如果在操作结束以后剩下的数组恰好是 $B$,那么辉神就可以得到 $x$ 分,否则得到 $0$ 分。
现在有 $q$ 道题目,这 $q$ 道题目中的 $A$ 数组是完全一样的,但是选出的子序列 $B$ 却不一定相同,现在辉神想知道每道题的答案。
### 输入格式
第一行一个正整数 $n$,表示排列 $A$ 的长度。
接下来一行 $n$ 个数,表示排列 $A$。
接下来一行一个数 $q$。
接下来 $q$ 行,每行一个长度为 $n$ 的 `01` 串,如果第 $i$ 个位置是 $1$,则说明 $A$ 的第 $i$ 个位置的数出现在了 $B$ 中。
### 输出格式
输出 $q$ 行,每行一个整数,表示对每一道题目,辉神能够获得的最高分。
### 样例输入
```
4
1 2 4 3
2
1101
0011
```
### 样例输出
```
1
3
```
### 评测数据规模
$2 \leq n \leq 10^5$,$1 \leq q \leq 10$。