30118 - Command Network

通过次数

1

提交次数

1

时间限制 : 1 秒
内存限制 : 128 MB

经过漫长的口水战,小肯和 KnuthOcean 王国之间终于爆发了一场武装冲突。KnuthOcean 的军队突然而猛烈的袭击使得小肯的指挥网络完全瘫痪。必须立即建立一个临时网络。小肯命令史努比负责这个项目。

经过对情况的逐一研究,史努比认为最紧急的问题是使小肯的指令能够到达被毁网络中的每个断开的节点,并决定制定一个建立单向通信网络的计划。这些节点分布在一个平面上。如果小肯的指令要能够直接从节点 A 传递到另一个节点 B,就必须沿着连接这两个节点的直线段建立一根电线。由于处于战时,不能在所有节点对之间建立电线。史努比希望这个计划需要最短的总电线长度,以便尽快进行建设。

输入

输入包含多个测试用例。每个测试用例以包含两个整数 NN \le 100),即被毁网络中节点的数量,和 MM \le 10^4),即可以建立电线的节点对数。接下来的 N 行每行包含一个有序对 x_iy_i,表示节点的笛卡尔坐标。然后是 M 行,每行包含两个整数 ij,介于 1N 之间(包括 1),表示可以在节点 i 和节点 j 之间建立电线,用于单向指令从前者传递到后者。小肯的总部总是位于节点 1。输入直到文件结束为止。

输出

对于每个测试用例,输出一行,精确到小数点后两位,包含电线的最短总长度。在不存在这样的网络的情况下,输出 poor snoopy

样例

输入

4 6
0 6
4 6
0 0
7 20
1 2
1 3
2 3
3 4
3 1
3 2
4 3
0 0
1 0
0 1
1 2
1 3
4 1
2 3

输出

31.19
poor snoopy

提示

  • N \le 100
  • M \le 10^4