在 X 国,有 $n$ 个城市和 $n - 1$ 条单向道路,且所有城市都能到达城市 1。一次查询会给出 3 个城市集合 $A, B, C$。Alice 会选择集合 $A$ 中的一个城市 $x$,选择集合 $C$ 中的一个城市 $z$,并从 $x$ 走到 $z$(如果 $x$ 能到达 $z$)。Bob 会选择集合 $B$ 中的一个城市 $y$,并从 $y$ 走到 $z$(如果 $y$ 能到达 $z$)。有多少个城市可能是 Alice 和 Bob 相遇的地点?
换句话说,有多少个城市既能从集合 $A$ 中的任意城市到达,又能从集合 $B$ 中的任意城市到达,且能到达集合 $C$ 中的任意城市?
共有 $T$ 组测试数据,每组数据包含 $q$ 次查询。
输入格式
第一行包含一个整数 $T$,表示测试数据组数。每组数据中:
第一行包含 2 个整数 $n$ 和 $q$,分别表示城市数量和查询次数。
下一行包含 $n - 1$ 个整数 $r_1, r_2, \dots, r_{n-1}$,第 $i$ 个整数表示从城市 $i + 1$ 到城市 $r_i$ 的道路。
接下来是 $q$ 次查询,每次查询包含:
第一行包含 3 个整数 $|A|, |B|, |C|$,分别表示集合 $A, B, C$ 的大小。
下一行包含 $|A|$ 个整数,表示集合 $A$。
下一行包含 $|B|$ 个整数,表示集合 $B$。
下一行包含 $|C|$ 个整数,表示集合 $C$。
$1 \le T \le 20, 1 \le n, q, |A|, |B|, |C| \le 2 \times 10^5$,对于所有测试数据,$\sum n \le 2 \times 10^5, \sum q \le 2 \times 10^5, \sum |A| + \sum |B| + \sum |C| \le 2 \times 10^5$。
输出格式
对于每组测试数据,输出 $q$ 个整数,每行一个,第 $i$ 个整数表示第 $i$ 次查询的答案。
样例
样例输入 1
1 7 3 1 1 2 2 3 3 2 1 1 1 2 4 1 4 4 3 4 5 6 7 4 5 6 7 2 4 6 2 1 1 4 5 6 1
样例输出 1
2 4 1