开始: 2023-10-19 10:55:00

1019复赛模拟赛10

结束: 2023-10-19 16:00:00
当前  2025-01-24 19:35:26  类型: IOI  状态: 已经结束 

P5. 旅行计划(seqpath)
描述

你来到了一个有n个城市的国家,你有一个预先制定好的旅游计划:x_1-x_2-x_3-\dots-x_k。这个旅游计划中相邻的城市间x_1x_2之间、x_2x_3之间\dots x_k-1x_k之间都有边。且一定是从1出发,n结束。

但是你已经很累了,只想尽快结束。因为除了这些边之外还有一些双向边,于是你决定在之前的计划上跳过某些城市,快速结束。

具体地,如果 i<j 且x_ix_j之间有连边,你就可以跳过x_ix_j之间的所有的点,直接到达x_j

为了有始有终,不允许跳过第1个点和第n个点。你需要输出最少能将旅游计划中的边的长度变为多少。


输入

第一行一个正整数T,表示数据组数,接下来T组数据。

每组数据第一行三个正整数n,m,k,表示图的点数、边数以及所给路径的长度。

接下来一行k+1个数,描述从点1到点n的一条路径的同时描述k条边。保证第一个数是1,第k+1个数是n

接下来m-k行,每行两个正整数u,v,表示在所描述k条边外,还有一条u,v两个节点之间的双向边。


输出

对每组数据输出一行一个正整数,表示答案。

样例

输入

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

输出

4
提示

对于30\%的数据,有2\leq n\leq15

对于60\%的数据,有2\leq n\leq200

对于100\%的数据,有1\leq T\leq1002\leq n\leq 50000, 1\leq k1\leq u,v\leq n,每个测试点中n的和不会超过50000m的和不会超过200000

所描述的路径一定一条是合法的从1n的路径,路径上的点两两不同。

另外输入数据中剩下的m-k条边可能是自环,也可能是重边,且可能与任意的边重复。


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交