D. 分头行动

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

和 热爱探索,这天他们相约来到地处白国的边缘的一座古老的海岛——南林岛。

岛上有 个打卡点,编号为 ,打卡点之间通过 条双向通行的道路连通。 和 各自有自己想要去打卡的地方,具体的, 需要到达的打卡点有 个,分别为 ;而 需要到达的打卡点有 个,分别为 。他们可以以任意顺序访问所有他们需要到达的打卡点,且他们沿着一条道路从一个打卡点到达另一个打卡点均花费一个单位时间。

由于南林岛位置偏僻且地形复杂,他们两人决定采取一个比较安全的探索规则:每个单位时间,只有一人可以沿着道路去往另一个打卡点,而另一个人则呆在自己当前的打卡点不动,以便于及时接收对方发来的信号;此外,为了保证在突发情况下两人可以及时碰头,在任意时刻,两人之间的距离不能超过 ,这里对于距离的定义为两人之间的路径上需要经过的道路的数量。

目前两人都位于 号打卡点,在探索结束之后,两人均需要返回 号打卡点(返回的时候同样采取上述的探索规则),请问他们最少需要多少时间完成本次探索。

输入格式

第一行四个整数 。表示打卡点的个数, 和 各自需要到达的打卡点个数,两人之间的最大距离。

第二行 个整数,表示 需要到达的打卡点编号。

第三行 个整数,表示 需要到达的打卡点编号。

接下来 行,每行两个整数 表示 号打卡点和 号打卡点之间有一条双向通行道路。

输出格式

一行一个整数,表示 和 完成探索的最短时间。

样例

样例输入 1

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

样例输出 1

6

样例解释 1

和 的一种探索方式如下:

  1. 不动, 路线为 ,共花费时间 4;
  2. 不动, 路线为 ,共花费时间 2。

样例输入 2

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

样例输出 2

14

样例解释 2

和 的一种探索方式如下:

  1. 从 1 移动到 2;
  2. 从 1 移动到 2;
  3. 从 2 移动到 4;
  4. 从 4 移动到 2;
  5. 从 2 移动到 3;
  6. 从 3 移动到 2;
  7. 从 2 移动到 1;
  8. 从 2 移动到 1;
  9. 从 1 移动到 5;
  10. 从 1 移动到 5;
  11. 从 5 移动到 6;
  12. 从 6 移动到 5;
  13. 从 5 移动到 1;
  14. 从 5 移动到 1。

数据范围与提示

一共有 20 组数据:

对于 1~4 组数据,;

对于 5~9 组数据,;

对于 10~12 组数据,;

对于 13~16 组数据,;

对于 17~20 组数据,。