# 小张的手速大比拼

在很久很久以前，小张找到了一颗有 N 个节点的有根树 T 。 树上的节点编号在 1 到 N 范围内。

他很快发现树上的每个节点 i 都有一个对应的整数值 V[i]。

一个老爷爷对他说，给你一个整数 X， 如果你能回答我的 M 个问题，他就给小张购买一些零食。

对于每个问题 Q[i], 请你找到 在 T 中以节点 Q[i] 为根的子树中的所有节点(包括 Q[i])中， 有没有两个节点 A, B (A != B) 的值 V[A] ^ V[B] 的异或和为 X。

如果有这样的两个节点， 请你输出 YES。

否则你需要输出 NO 表示没有节点符合上面的条件。

## 输入描述

第一行包含三个整数 N (2 <= N <= 100000), X (0 <= X <= 1000000000)，M（1 <= M <= N) , 表示树上节点的数量 和 老爷爷给的数 X 和 老爷爷的问题数量。

第二行包含 N 个数， 第 1 个数代表节点 1 的父节点， 第 2 个数代表节点 2 的父节点， 以此类推。

题目保证输入是一颗合法的有根树， 如果第 i 个数为 -1 表示 节点 i 没有父节点。

第三行包含 N 个数， 第 1 个数代表节点 1 的值 V[1]， 第 2 个数代表节点 2 的值 V[2]， 以此类推。

题目保证对于每一个下标1 <= i <= N 都有 0 <= V[i] <= 1000000000。

接下来有 M 行， 每一行包括一个整数Q[i] (1 <= Q[i] <= N)， 代表老爷爷问小张的第 i 个问题。

## 输出描述

按顺序输出问题 Q[1], Q[2] ... Q[M] 的答案， 每个答案占一行。

## 输入用例

4 2 3

-1 1 1 2

4 3 2 1

1

3

4

## 输出用例

YES

NO

NO

## 提示

第一个用例给出的树是

                1(4)
          2(3)         3(2)
    4(1)

括号左边的数为节点编号， 括号内的数为节点值。

对于第一个测试用例的第一个问题， 显然有节点 4 与 节点 2 的值 (1 ^ 3) == 2。

对于第一个测试用例的第二个问题， 以节点 3 为根的子树里只有 3 一个节点 并没有一对节点满足 A != B 且 (V[A] ^ V[B]) == 2。

