5032 - 状压DP:补给

小A是一个直升机飞机驾驶员,他负责给山区的n个村庄运送物资,每个月,他都要到每个村庄至少一次,可以多于一次,将村庄需要的物资运送过去。每个村庄都正好有一个直升机场,每2个村庄之间的路程都正好是村庄之间的直线距离,由于直升机的邮箱大小有限,小A每次飞行的距离不能超过D,每个直升机场都有加油站,可以加满油,每个月,小A都是从总部出发,给各个村庄运送物资后回到总部,如果方便,小A中途也可以经过总部来加油,总部位于编号为1的村庄,请问要完成一个越任务,小A至少要飞行多长距离

输入

第一行包含二个整数n,D,分别表示村庄的数量和单词飞行的距离 接下来n行描述村庄的位置,其中第i行两个整数xi,yi分别表示编号为i的村庄的坐标,村庄i和村庄j之间的距离为 sqrt((xi-xj)(xi-xj)+(yi-yj)(yi-yj))

输出

输出一行,包含一个实数,四舍五入保证2位小数,表示答案

样例

输入

4 6
1 1
4 5
8 5
11 1

输出

28.00

提示

村庄数<=20

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题