#codefestivalmorninghardd. [code_festival_morning_hard_d]Rail Tour

[code_festival_morning_hard_d]Rail Tour

问题描述

有一个以无限延伸的 xyxy 平面表示的城市。

现在,amylase先生位于点 (xs,ysx_s, y_s),希望移动到点 (xg,ygx_g, y_g)。

这个城市中只有一条铁路,陆道电铁。这条铁路由 nn 个点 (x1,y1x_1, y_1), (x2,y2x_2, y_2), ..., (xn,ynx_n, y_n) 组成的折线表示。这条铁路不会有交叉。

amylase先生可以在铁路上的任意位置上下车,并且在铁路上可以以速度 vv 向前或向后移动。除此之外,他也可以以速度 11 在其他地方移动。

请计算amylase先生到达目的地所需的最短时间。


输入

输入数据以以下格式给出:

nn vv xsx_s ysy_s xgx_g ygy_g x1x_1 y1y_1 ... xnx_n yny_n

  • 第一行是一个整数 nn,表示铁路上的点的数量 (2n502 \leq n \leq 50)、铁路移动速度的整数 vv (2v1,000,0002 \leq v \leq 1{,}000{,}000)、起点坐标的整数 xs,ysx_s, y_s (1,000,000xs,ys1,000,000-1{,}000{,}000 \leq x_s, y_s \leq 1{,}000{,}000) 和终点坐标的整数 xg,ygx_g, y_g (1,000,000xg,yg1,000,000-1{,}000{,}000 \leq x_g, y_g \leq 1{,}000{,}000)。
  • 接下来的 nn 行给出了构成铁路的每个点的坐标。
  • 对于每个点,xi,yix_i, y_i (1,000,000xi,yi1,000,000-1{,}000{,}000 \leq x_i, y_i \leq 1{,}000{,}000) 表示第 ii 个点的坐标为 (xi,yix_i, y_i)。
  • 所有给定的坐标都是整数。

输出

输出到达终点的最短时间,格式为一行。

如果绝对误差和相对误差中至少有一个小于等于 10610^{-6},则视为正确答案。

最后换行,不包含多余字符或空行。


示例输入1


2 2 -10 0 20 0
0 0
10 0

示例输出1


25

示例输入2


2 2 0 3 20 3
0 0
20 0

示例输出2


15.1961524227

示例输入3


2 2 0 3 10 3
0 0
10 0

示例输出3


10

示例输入4


4 3 -10 10 10 -20
0 10
0 0
-10 -10
10 -10

示例输出4


33.5702260396

示例输入5


4 3 -10 10 10 -20
0 10
0 0
-50 -10
10 -10

示例输出5


34.9509379141