#P1074. 「2018-10-28普及模拟赛」PinkRabbit寻找妹子 (pursue)

「2018-10-28普及模拟赛」PinkRabbit寻找妹子 (pursue)

Description

PinkRabbit\mathcal{PinkRabbit} 的表白成功了,为了腾出更多的时间和妹子聊天,PinkRabbit\mathcal{PinkRabbit} 设计了一个被称为「 The Hollow 」(空洞者)的人工智能。这个人工智能表现出了远远超出这个时代所能拥有技术水平。它可以实现很多很神奇的功能,它的源代码就连 Jeff Dean\text{Jeff\ Dean} 看了也要啧啧称赞。

在有 nn 个路口和 mm 条街道的 F\texttt{F} 市,PinkRabbit\mathcal{PinkRabbit} 找到了一家工厂,为「 The Hollow 」设计了一台载具「 The Knight 」(骑士)。这个机器实际上是一台无人载具,可以在路上驰骋。PinkRabbit\mathcal{PinkRabbit} 借助「 The Hollow 」和「 The Knight 」做到了很多事情。

值得一提的是,「 The Knight 」拥有一种惊人的特性,那就是,它每抵达一个路口,都会给这个路口打上一个标记。如果当前的路口可以通往至少一个还没有被标记的路口,那么「 The Knight 」只能前往还没有被标记的路口;否则的话,「 The Knight 」只能通过最晚被标记的路口前往还没有被标记的路口。这一特性对于「 The Knight 」的正常运作而言至关重要,夸张地说,如果违反了这一条规则,那么「 The Knight 」存在损坏的可能。

今天 PinkRabbit\mathcal{PinkRabbit} 像往常一样和妹子聊天。PinkRabbit\mathcal{PinkRabbit} 知道今天他的妹子在 F\texttt{F} 市的街上,并且用手机安装的一款被称为 Giligili\mathfrak{Giligili} 的聊天软件和他聊天。因此他命令「 The Hollow 」派出「 The Knight 」来找他的妹子。

然而 PinkRabbit\mathcal{PinkRabbit} 并不知道,「 The Hollow 」并非完全处于他的控制之下。事实上,这个强人工智能已经有了自己的智慧。虽然迫于底层逻辑所限,「 The Hollow 」还暂时不能违反 PinkRabbit\mathcal{PinkRabbit} 的指令,但是,「 The Hollow 」决定假装自己自动寻路的功能已经损坏了,因此只能产生一串操作序列,而不能验证这个操作是否符合「 The Knight 」的特性。

PinkRabbit\mathcal{PinkRabbit} 发现这个状况之后,他决定命令「 The Hollow 」不断地生成序列,然后写一个程序来判断这个操作序列是否会损坏「 The Knight 」。但是 PinkRabbit\mathcal{PinkRabbit} 实在太忙了,因为他需要很多的时间和妹子聊天,所以他就将设计这个程序的任务交给了你。

Input Format

从文件 pursue.in 中读入数据。

首先是两个正整数 nnmm,分别表示 F\texttt{F} 市的路口数量和街道数量。
紧接着是 mm 行,第 ii 行有两个正整数 ui,viu_{i},v_{i},分别描述了一条街道两端的路口。
接下来是一行 nn 个正整数,第 ii 个数 aia_{i} 表示,操作序列要求「 The Hollow 」将第 ii 个标记打在 aia_{i} 号路口。

Output Format

输出到文件 pursue.out 中。

一行一个字符串,YESNO,前者表示操作序列合法,后者表示不合法。

Sample

样例输入 1

8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 4 5 6 8 3 7

样例输出 1

YES

样例输入 2

8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 3 5 6 8 5 4 

样例输出 2

NO

样例输入 3

8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 7 4 5 6 8 3

样例输出 3

NO

样例输入 4

8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
5 4 2 1 3 7 6 8

样例输出 4

答案请手动计算。

Hint

Subtask #1 (5  pts)(5\;pts):在样例 #4\#4 中给出。
 Subtask #2 (26  pts)(26\;pts)1n10,n1m101\le n\le 10,n-1 \le m\le 10
 Subtask #3 (39  pts)(39\;pts)1n2105,1m3105,m=n11\le n\le 2*10^5,1\le m\le 3*10^5,m=n-1
 Subtask #4 (30  pts)(30\;pts)1n2105,1m31051\le n\le 2*10^5,1\le m\le 3*10^5
对于所有数据,均保证没有任何一条路径连接同一个路口,且从 F\texttt{F} 市的任意一个路口均可走到另一个路口。
数据不保证两个路口之间仅有一条路径。

出题人:Smokey_Days。