D 与 S
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

S 在追杀 D。
现在,D 在一张有 NM 边的无向图的 1 号点。
每一秒,S 会剪掉与 D 相邻的一条边,然后 D 会走到一条没被剪掉的边的终点。
K 个关键点,如果 D 到达了其中一个关键点,则 D 逃跑成功。S 要尽可能地阻止 D 逃跑成功。
你需要回答:若 S 绝顶聪明,D 能不能逃跑成功。注意,如果 D 一开始就处在关键点,也算做他逃跑成功。

输入描述:

第一行包含一个数 T),表示询问组数。
对于每组数据,第一行三个整数 N,M,K)。
第二行 K 个正整数,表示关键点。
接下来 M 行 ,每行两个正整数 u,v,表示存在 (u,v) 这条无向边。
保证关键点两两不同,且编号小于等于 N 。
保证所有询问的 N 之和与 M 之和都不超过 
保证数据中不存在重边与自环。

输出描述:

对于每组数据输出一行,若 D 可以走到关键点,则输出 yes;否则,输出 no。
示例1

输入

复制
1
5 6 2
3 4
1 2
1 3
2 3
3 4
5 4
1 5

输出

复制
no
示例2

输入

复制
1
3 2 2
2 3
1 2
1 3

输出

复制
yes