在 JOI 王国,IOI 监狱的安保工作受到严格管控。IOI 监狱共有 $N$ 个房间,编号为 $1$ 到 $N$。有 $N-1$ 条通道连接这些房间。第 $i$ 条通道 ($1 \le i \le N-1$) 双向连接房间 $A_i$ 和房间 $B_i$。通过若干条通道,可以从任意一个房间到达其他任意房间。
IOI 监狱里有 $M$ 名囚犯。每名囚犯都有一个“ID 号”,是一个 $1$ 到 $M$ 之间的整数。囚犯 $j$ ($1 \le j \le M$) 的卧室是房间 $S_j$,工作间是房间 $T_j$。一名囚犯可能会在另一名囚犯的卧室工作。然而,没有两名囚犯共用同一个卧室,也没有两名囚犯共用同一个工作间。
一天早上,这 $M$ 名囚犯必须从他们的卧室移动到他们的工作间。APIO 先生是 IOI 监狱的典狱长。他将向囚犯下达如下移动指令:
指令:选择一名囚犯,将该囚犯从当前房间移动到与其通过通道相连的另一个房间。为了避免囚犯之间进行交流,不允许将囚犯移动到已有其他囚犯停留的房间。
为了尽早开始工作,APIO 先生想知道是否可以下达指令,使得每名囚犯经过的房间都不超过一次(这意味着每名囚犯都走最短路径)。
请编写一个程序,在给定 IOI 监狱的房间和通道信息以及囚犯信息的情况下,判断是否可以移动囚犯,使得每名囚犯都走最短路径。
输入格式
一个测试用例包含 $Q$ 个场景,编号为 $1$ 到 $Q$。每个场景的具体数值如下。关于这些数值的范围,请参阅“数据范围”。
- IOI 监狱的房间数 $N$。
- IOI 监狱的通道信息 $(A_1, B_1), (A_2, B_2), \dots, (A_{N-1}, B_{N-1})$。
- IOI 监狱的囚犯数 $M$。
- 囚犯的卧室和工作间信息 $(S_1, T_1), (S_2, T_2), \dots, (S_M, T_M)$。
输入数据的格式如下。所有给定的值均为整数。
$Q$ (场景 1 的输入) (场景 2 的输入) $\vdots$ (场景 $Q$ 的输入)
每个场景的输入数据格式如下。详情请参阅“样例”。
$N$ $A_1 \ B_1$ $A_2 \ B_2$ $\vdots$ $A_{N-1} \ B_{N-1}$ $M$ $S_1 \ T_1$ $S_2 \ T_2$ $\vdots$ $S_M \ T_M$
输出格式
向标准输出写入 $Q$ 行。第 $k$ 行 ($1 \le k \le Q$) 应包含以下内容:
- 如果场景 $k$ 可以移动囚犯,则输出
Yes。 - 如果场景 $k$ 不可以移动囚犯,则输出
No。
数据范围
- $1 \le Q \le 1\,000$
- $2 \le N \le 120\,000$
- $1 \le A_i < B_i \le N$ ($1 \le i \le N-1$)
- $2 \le M \le N$
- $1 \le S_j \le N$ ($1 \le j \le M$)
- $1 \le T_j \le N$ ($1 \le j \le M$)
- $S_1, S_2, \dots, S_M$ 互不相同。
- $T_1, T_2, \dots, T_M$ 互不相同。
- $S_j \neq T_j$ ($1 \le j \le M$)
- 通过若干条通道,可以从任意一个房间到达其他任意房间。
- 所有 $Q$ 个场景的 $N$ 之和小于或等于 $120\,000$。
子任务
- (5 分) $A_i = i, B_i = i+1$ ($1 \le i \le N-1$)。
- (5 分) $Q \le 20, N \le 250, M = 2$。
- (16 分) $Q \le 20, N \le 250, M \le 6$。
- (28 分) $Q \le 20, N \le 250, M \le 100$。
- (12 分) $Q \le 20, M \le 500$。
- (11 分) 通过最多 20 条通道,可以从任意一个房间到达其他任意房间。
- (23 分) 无附加限制。
样例
样例输入 1
1 8 1 2 2 3 3 4 4 5 5 6 6 7 7 8 2 3 4 4 8
样例输出 1
Yes
样例输入 2
2 7 1 2 2 3 3 4 4 5 3 6 6 7 2 4 1 5 7 4 1 2 1 3 1 4 3 2 3 3 4 4 2
样例输出 2
Yes No
样例输入 3
3 3 1 2 2 3 2 2 1 3 2 7 1 2 2 3 3 4 4 5 5 6 6 7 3 1 3 4 2 2 5 8 1 2 2 3 3 4 4 5 5 6 6 7 7 8 4 1 5 2 6 3 7 4 8
样例输出 3
Yes No Yes