#arc150c. [arc150_c]Path and Subsequence

[arc150_c]Path and Subsequence

问题描述

我们有一个连通的无向图G G ,有N N 个顶点和M M 条边。顶点编号从1 1 N N 。第i i 条边连接顶点Ui U_i Vi V_i

此外,我们还有一个长度为N N 的整数序列A=(A1,A2,dots,AN) A=(A_1,\\ A_2, \\dots,\\ A_N) ,和一个长度为K K 的整数序列B=(B1,B2,dots,BK) B=(B_1,\\ B_2,\\ \\dots,\\ B_K)

确定G G A A B B 是否满足以下条件。

  • 对于在G G 中从顶点1 1 N N 的每条简单路径,v=(v1,v2,dots,vk)(v1=1,vk=N) v=(v_1,\\ v_2, \\dots,\\ v_k)\\ (v_1=1,\\ v_k=N)B B (Av1,Av2,dots,Avk)(A_{v_1},\\ A_{v_2},\\ \\dots,\\ A_{v_k})的(不一定连续的)子序列。

约束条件

  • 2N1052 \leq N \leq 10^5
  • 1KN1 \leq K \leq N
  • N1M2×105N-1 \leq M \leq 2 \times 10^5
  • 1Ui<ViN1 \leq U_i < V_i \leq N
  • (Ui,Vi)(Uj,Vj)(U_i,\\ V_i) \neq (U_j,\\ V_j) if iji \neq j.
  • 1Ai,BiN1 \leq A_i,\\ B_i \leq N
  • 输入中的所有值都是整数。
  • 给定的图G G 是连通的。

输入

输入以以下格式从标准输入给出:

NN MM KK U1U_1 V1V_1 U2U_2 V2V_2 \vdots UMU_M VMV_M A1A_1 A2A_2 \dots ANA_N B1B_1 B2B_2 \dots BKB_K

输出

如果满足条件,则输出Yes;否则输出No


示例输入 1

6 6 3
1 2
1 3
2 4
3 5
4 6
5 6
1 2 4 5 2 6
1 2 6

示例输出 1

Yes

从顶点1 1 到顶点6 6 ,有两条简单路径:(1,2,4,6)(1,\\ 2,\\ 4,\\ 6)(1,3,5,6)(1,\\ 3,\\ 5,\\ 6)。与这些路径对应的(Av1,Av2,dots,Avk)(A_{v_1},\\ A_{v_2},\\ \\dots,\\ A_{v_k})分别为(1,2,5,6)(1,\\ 2,\\ 5,\\ 6)(1,4,2,6)(1,\\ 4,\\ 2,\\ 6)。它们都有B=(1,2,6) B=(1,\\ 2,\\ 6) 作为子序列,因此答案是Yes


示例输入 2

5 5 3
1 2
2 3
3 4
4 5
2 5
1 2 3 5 2
1 3 2

示例输出 2

No

对于从顶点1 1 到顶点5 5 的简单路径(1,2,5)(1,\\ 2,\\ 5)(Av1,Av2,dots,Avk)(A_{v_1},\\ A_{v_2},\\ \\dots,\\ A_{v_k})(1,2,2)(1,\\ 2,\\ 2),它没有B=(1,3,2) B=(1,\\ 3,\\ 2) 作为子序列。


示例输入 3

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

示例输出 3

Yes