#LQ1120. 补给

补给

题目描述

小蓝是一个直升飞机驾驶员,他负责给山区的 nn 个村庄运送物资。每个月,他都要到每个村庄至少一次,可以多于一次,将村庄需要的物资运送过去。每个村庄都正好有一个直升机场,每两个村庄之间的路程都正好是村庄之间的直线距离。

由于直升机的油箱大小有限,小蓝单次飞行的距离不能超过 DD。每个直升机场都有加油站,可以给直升机加满油。

每个月,小蓝都是从总部出发,给各个村庄运送完物资后回到总部。如果方便,小蓝中途也可以经过总部来加油。

总部位于编号为 1 的村庄。

请问,要完成一个月的任务,小蓝至少要飞行多长距离?

输入描述

输入的第一行包含两个整数 n,Dn,D,分别表示村庄的数量和单次飞行的距离。

接下来 nn 行描述村庄的位置,其中第 ii 行两个整数 xi,yix_i, y_i,表示编号为 ii 的村庄的坐标。村庄 ii 和村庄 jj 之间的距离为 (xixj)2+(yiyj)2\sqrt{(x_i−x_j)^2+(y_i−y_j)^2}

其中,1n20,1xi,yi104,1D1051≤n≤20,1≤x_i,y_i≤10^4,1≤D≤10^5

输出描述

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

4 10
1 1
5 5
1 5
5 1
16.00

样例说明

四个村庄形成一个正方形的形状。

4 6
1 1
4 5
8 5
11 1
28.00

样例说明

补给顺序为 12343211→2→3→4→3→2→1

评测用例规模与约定:

对于所有评测用例,1n20,1xi,yi104,1D1051≤n≤20,1≤x_i,y_i≤10^4,1≤D≤10^5