编程题
### 问题描述
小齐的农场里有 $N$ 头奶牛,每头奶牛都有一个编号从 $1$ 到 $N$。它们之间的关系由一棵树来描述。不幸的是,一种疾病正在蔓延。
一开始,一些奶牛已经感染了疾病。每天晚上,一头感染的奶牛会把疾病传给它的邻居。一旦一头奶牛感染了疾病,她就会一直保持感染状态。在经过一定数量的晚上后,小齐意识到有问题,于是她测试了她的奶牛,以确定哪些奶牛患有疾病。
给定 $Q$ 个不同的晚上数量,每个都是在区间 $[0, N]$ 的整数。对于每个晚上的数量,请确定可能起初感染疾病的奶牛的最少数量,或者如果给定的信息与现实矛盾,则输出 $-1$。
### 输入格式
第一行包含一个整数 $N$。
第二行包含一个长度为 $N$ 的位字符串,其中第 $i$ 位为 $1$ 表示第 $i$ 头奶牛感染了疾病,为 $0$ 表示没有感染。至少有一头奶牛感染了疾病。
接下来的 $N-1$ 行包含树的边。
然后是 $Q$,接着是 $Q$ 个表示晚上数量的整数。
### 输出格式
输出 $Q$ 行,分别对应每个晚上数量的答案,或者输出 $-1$ 表示不可能。
### 样例输入
```
5
11111
1 2
2 3
3 4
4 5
6
5
4
3
2
1
0
```
### 样例输出
```
1
1
1
1
2
5
```
### 评测数据规模
$1\leq Q\leq 20$。