编程题
### 问题描述
已知了飞行器的起点和终点以及 $n$ 个休息站的坐标,问起点到终点的最短路径是多少?
限制:飞行器不能长期飞行,必须中途在某结点下停下休息(即连续飞行距离应不大于 $m$)。
欧涛师兄很想在师妹面前大展身手,你能帮助他解决这个问题吗?
### 输入格式
第一行输入两个数,整数 $n$ 和浮点数 $m$。
第二行输入六个浮点数 $x_1,y_1,z_1,x_2,y_2,z_2$。分别代表起点坐标 $(x_1,y_1,z_1)$ 和终点坐标 $(x2,y2,z2)$。
紧接着下面 $n$ 行,每行依次输入三个浮点数,代表休息站的坐标 $(a_i,b_i,c_i)$,休息站编码依次为 $1,2,...,n$。
### 输出格式
输出满足条件的起点到终点的最短距离长度(结果保留三位小数)。
依次输出飞行器经过站台的编码(休息站编码为 $1$ 到 $n$,起点编码 Start,终点编码 End)。
若不能到达终点输出 $-1$。
### 输入样例
```c++
4 5
0 0 0 6 6 0
-1 1 0
5 6 0
3 4 0
6 1 0
```
### 输出样例
```c++
8.606
Start 3 End
```
### 数据范围
对于 $100\%$ 的数据 $n\le 600,10^9\le x_1,y_1,z_1,x_2,y_2,z_2,a_1,a_2,...,a_n\le 10^9$。