#432. 迷阵突围

迷阵突围

说明

gsy 陷入了坐标系上的一个迷阵,迷阵上有 n 个点,编号从 1 到 n。gsy 在编号为 1 的位置,他想到编号为 n 的位置上。gsy 当然想尽快到达目的地,但是他觉得最短的路径可能有风险,所以他会选择第二短的路径。现在 gsy 知道了 n 个点的坐标,以及哪些点之间是相连的,他想知道第二短的路径长度是多少。

*注意,每条路径上不能重复经过同一个点*。

输入格式


第一行输入两个整数 n(1<= n<= 200) 和 m,表示一共有 n 个点和 m 条边。

接下来输入 n 行,每行输入两个整数 xi, yi(-500<= xi,yi<= 500),代表第 i 个点的坐标。

接下来输入 m 行,每行输入两个整数 pj, qj (1<= pj,qj<= n),表示点 pj 和点  qj 之间相连。

输出格式


输出一行,输出包含一个数,表示第二短的路径长度(小数点后面保留两位),如果第一短路径有多条,则答案就是第一最短路径的长度;如果第二最短路径不存在,则输出 -1。

样例

3 3
1 1
2 2
3 2
1 2
2 3
1 3
2.41