你正喺度為一艘自主火箭動力氣墊船寫程式。架船可以行得非常、非常快,但係轉彎就好困難。由於佢浮喺地面上,所以要靠啟動定向推進器嚟轉彎;無論架船向前行緊定停定咗,呢啲推進器都會令佢轉向。
你用嚟測試嘅鹽灘已經用 $\text{2D}$ 笛卡兒座標網格標示好。氣墊船由網格上嘅位置 $(0,0)$ 出發,朝住 $X$ 軸正方向。你嘅任務係令架船去到鹽灘上另一個位置 $(x,y)$。
氣墊船嘅固定對地速度係每秒 $v$ 英里,固定旋轉速率係每秒 $w$ 弧度。由於火箭喺加速同減速時嘅推力都好強,架船幾乎可以即刻達到最高速度,亦可以一樣咁快由最高速度停低。同樣,佢可以即刻開始以固定速率旋轉,亦可以一樣咁快停止旋轉。佢可以順時針或者逆時針轉。
你要搵出架船去到目標所需嘅最短時間。控制架船嘅程式可以開始向前行、停止向前行、開始旋轉同停止旋轉,每種操作都恰好執行一次。留意,開始/停止向前行同開始/停止旋轉可以各自獨立進行。
輸入格式
每組測試資料都恰好有兩行。
第一行有兩個用空格分隔嘅整數 $x$ 同 $y$($−1,000 \leq x, y \leq 1,000,(x,y)\ne(0,0)$),表示你想去到嘅鹽灘網格位置,單位係英里。
輸入嘅第二行有兩個用空格分隔、恰好有兩位小數嘅實數:$v$($0.01 \leq v \leq 10.00$)同 $w$($0.01 \leq w \leq 10.00$)。$v$ 係固定行駛速度,單位係英里/秒;$w$ 係向任何一邊轉嘅固定旋轉速率,單位係弧度/秒。
輸出格式
輸出一個實數,表示喺上述限制下,氣墊船由 $(0,0)$ 去到 $(x,y)$ 所需嘅最短時間(秒)。只要你嘅答案嘅絕對誤差唔超過 $10^{−3}$,就會獲得接受。
樣例
輸入格式 1
20 0
1.00 0.10
輸出格式 1
20.00000000
輸入格式 2
-10 10
10.00 1.00
輸出格式 2
3.14159265
輸入格式 3
0 20
1.00 0.10
輸出格式 3
28.26445910
輸入格式 4
-997 -3
5.64 2.15
輸出格式 4
177.76915187