#L2022. 「AHOI / HNOI2017」队长快跑

「AHOI / HNOI2017」队长快跑

题目描述

众所周知,在 PP 国外不远处盘踞着巨龙大 YY。传说中,在远古时代,巨龙大 YYPP 国的镇国之宝窃走并藏在了其巢穴中,这吸引着整个 PP 国的所有冒险家前去夺回,尤其是皇家卫士队的队长小 WW。在 PP 国量子科技实验室的帮助下,队长小 WW 通过量子传输进入了巨龙大 YY 的藏宝室,并成功夺回了镇国之宝。但此时巨龙布下的攻击性防壁启动,将小 WW 困在了美杜莎的迷宫当中。

被困在迷宫 (0,0)(0,0) 处的队长小 WW 快速观察了美杜莎的迷宫的构造,发现迷宫的出口位于 (p,q)(p, q) 处。巨龙大 YY 在迷宫当中布置了 nn 个火焰吐息机关,每个机关可以用三个参数 (x,y,θ)(x, y, \theta) 表示,分别指明机关位于平面的坐标 (x,y)(x, y),以及火焰吐息的方向相对于 xx 轴正方向的倾角 θ\theta。巨龙强大的力量使得火焰吐息有无穷长,且队长小 WW 不能通过被火焰吐息覆盖的射线(注意,机关所处的坐标若没有被其他火焰吐息覆盖,则是可以通过的)。同时,迷宫在沿 xx 轴负方向无穷远的地方放置了美杜莎之眼,使得队长小 WW 必须倾向于向 xx 轴正方向行动(即队长小 WW 的移动方向在 xx 轴正方向上的投影必须为正,不能是负数或零),否则队长小 WW 将被瞬间石化而无法逃离。

心急如焚的队长小 WW 需要趁着巨龙大 YY 还没将其抓住前逃离美杜莎的迷宫,所以他立马向 PP 国智囊团求助,作为智囊团团长的你,一定可以帮队长小 WW 找出安全逃至迷宫出口的最短道路。


输入格式

第一行为三个整数 n,p,qn, p, q,分别表示火焰吐息机关总数以及出口坐标。

接下来 nn 行,每行两个整数与一个实数 x,y,θx, y, \theta,分别表示机关所处的坐标以及火焰吐息的关于 xx 轴正方向的倾角。


输出格式

输出文件仅包含一行一个小数,表示最短道路的长度。当你的答案和标准答案的相对误差不超过 10810^{-8} 时(即

aoa108\frac{|a - o|}{a} \le 10^{-8}

其中 aa 是标准答案,oo 是输出)认为你的答案正确。


样例 1

输入

7 20 -5
4 3 -2.875
5 7 -1.314
10 -2 0.666
16 1 -1.571
16 1 1.571
23 -3 -2.130
14 -5 3.073

输出

33.3380422500

样例 2

输入

7 20 0
5 2 1.155
5 2 1.987
5 2 -1.571
11 -4 1.765
11 -4 1.377
15 -4 1.765
15 -4 1.377

输出

24.2735704188

数据范围与提示

对于 30%30\% 的数据,n300n \le 300
对于 60%60\% 的数据,n2000n \le 2000
对于 80%80\% 的数据,n105n \le 10^5
对于 100%100\% 的数据,0n,p,q,x,y1060 \le n, p, |q|, |x|, |y| \le 10^6θ[π,π)\theta \in [-\pi, \pi)

数据保证至少存在一条合法路径,且起点和终点均不会被火焰路径覆盖。