题目描述
大米城是由 n 个路口和 m 条双向道路构成的,每条双向道路连接两个路口,任意两个路口可以相互到达。此外,城市里设有 k 个酒店,每个酒店位于一个路口。两个路口之间的距离定义为从一个路口到达另一个路口需要经过的最少道路数量。可能有多个酒店在同一个路口。
小米计划在大米城旅游 q 天,第 i 天小米打算在第 si 个路口结束当天的行程,因此想在距离第 si 个路口最近的地方选择一个酒店。然而,有一些酒店已经被预定满了,第 i 天小米无法预定第 bi 个酒店。
输入格式
第一行四个整数 n,m,k,q;
接下来一行 k 个整数 hi ,代表每个酒店所在路口;
接下来 m 行,每行两个整数 ui,vi ,代表一条双向道路;
接下来 q 行,每行两个整数 si,bi ,其中如果 bi=0 则小米可以预定任意一个酒店,否则小米在第 i 天不能预定第 bi 个酒店。
输出格式
输出 q 行,每行一个整数,代表小米当天预定的酒店与行程结束位置之间的最短距离。
输入样例1
4 5 2 2
2 4
1 2
2 3
3 4
4 1
1 3
2 1
2 0
输出样例1
2
0
样例2见下载文件
数据范围
对于 30% 的数据,n,m,k,q≤10
对于 50% 的数据,n,m,k,q≤1000
对于另外 20% 的数据,k≤10;
对于另外 20% 的数据,bi=0;
对于所有数据,1≤n,m,q≤105,2≤k≤n,1≤hi,ui,vi,si≤n,0≤bi≤k。保证图连通。