#3336. 模糊的记忆

模糊的记忆

题目描述

Zart PMP 战队拿到了在中国哈尔滨举办的 ICPC 世界决赛的参赛资格。全队去太阳岛公园看雪雕艺术展之后,PMP 必须赶在大巴车离开前回到车上。可是公园非常大,他不知道该怎么找到大巴。

公园里有 nn 个路口,编号 1 到 nn,有 mm 条双向道路连接其中一些路口。在 kk 个路口上有 ICPC 志愿者在为各队指路。志愿者的位置固定且互不相同。

当 PMP 向志愿者询问去公交站的路时,志愿者可以把完整路径告诉他。但公园被冰雪完全覆盖,到处看起来都差不多,所以 PMP 每次问路后最多只能记住 qq 个路口(不含他当前所在的路口)。他总是向志愿者坦白自己记性不好;如果不存在一条长度(按道路数计)不超过 qq 的直达公交站的路径,志愿者就会把他指引向另一位志愿者(当然距离不超过 qq 个路口)。ICPC 志愿者非常熟悉地形,总是告诉 PMP 最好的走法。因此,只要存在通往大巴的路,PMP 就一定能找到。

PMP 的初始位置是路口 ss,大巴在路口 tt。路口 ss 上一定有志愿者。你的任务是求出能保证 PMP 找到大巴的最小 qq 值。

输入格式

第一行包含三个用空格隔开的整数 nn、mm、kk(2≤n≤1052 \le n \le 10^5,0≤m≤2⋅1050 \le m \le 2 \cdot 10^5,1≤k≤n1 \le k \le n),分别表示路口数、道路数和志愿者数。下一行包含 kk 个互不相同的用空格隔开的整数(在 1 到 nn 之间),即志愿者所在的路口编号。

接下来 mm 行描述道路:第 ii 行包含两个用空格隔开的整数 uiu_i、viv_i(1≤ui,vi≤n1 \le u_i, v_i \le n,ui≠viu_i \ne v_i),表示第 ii 条道路连接的两个路口。任意两个路口之间至多一条道路。

输入最后一行包含两个用空格隔开的整数 ss、tt(1≤s,t≤n1 \le s, t \le n,s≠ts \ne t),分别表示 PMP 的初始位置和大巴的位置。从 ss 不一定能到达 tt。保证路口 ss 上一定有志愿者。

输出格式

一行输出答案——能保证 PMP 找到大巴的最小 qq 值。如果 PMP 根本到不了大巴,输出 -1。

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

说明/提示

第一组样例如下图所示,蓝色路口是志愿者的位置。若 PMP 沿虚线路径走,则 q=3q=3 时即可到达大巴:

第二组样例中,PMP 把路口 6 当作中转路口,因此答案是 3。