全体集合
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给出  个点  条边 的无向图,给出  个点,这  个点上每个点都有一个人,每个人每回合能走到一个相邻的节点(不能停留不走),问:有没有可能在某一个回合,让这些人都集中在一个点?

输入描述:

第一行包含三个整数    , 。

接下来  行,每行包括两个整数  ,表示存在一条从节点  到  的边,节点编号从  开始,保证图联通,无重边,无自环。

接下来一行,包含  个整数,分别表示有人所在的节点,保证  个节点各不相同。

输出描述:

输出包括一行,如果有办法能让全部人都集中在一个点,输出”YES“,否则输出”NO“,不包含引号。
示例1

输入

复制
3 2 2
1 2
2 3
1 3

输出

复制
YES

说明

第一回合,让节点  的人走到节点 ,节点  的人走到节点  ,全都集中了,输出YES
示例2

输入

复制
3 2 2
1 2
2 3
1 2

输出

复制
NO

说明

由于每回合不能不移动,不存在一种走法让全部人集中。