你可能不知道,你在城市里每天见到的“普通”市鸽,其官方名称实际上是“原鸽”(rock pigeon 或 rock dove)。原鸽 Rocky Dave 爱上了 Columba Livia,一只年轻的雌性原鸽,她对岩石、鸽子以及与此类事物相关的一切都深感兴趣。纯属巧合的是,在一个阳光明媚的秋日午后,我们发现它们正停在城市郊区同一栋建筑的屋顶上。
为了展示自己自信而矫健的步伐,Rocky Dave 决定不直接飞过屋顶去找他的心上人,而是选择步行走向她。这个屋顶不是现代的平屋顶,而是由坡面组成的传统屋顶。由于该建筑是由多个较小的建筑连接而成的,其平面图有些复杂。因此,Dave 打算走向 Columba Livia 的“直线”路径,只有从正上方俯视时才显得是直的。Rocky Dave 可能需要向上爬、越过屋脊、从另一侧下行到屋谷,然后再向上爬,以此类推。
我们知道该建筑的精确平面图、屋顶坡面的角度(所有角度均相同),以及我们男女主角在屋顶上的初始位置。给出这些数据,请计算在 Columba Livia 在 Rocky Dave 到达前不离开原位的前提下,Rocky Dave 旅程的精确长度。
如果路径离开了建筑物的边界,Dave 的计划是:每当他遇到屋顶边缘的雨水沟时,他将以相同的高度沿着指向 Columba Livia 的方向直线飞行,直到到达建筑物另一侧的雨水沟,然后在那里继续步行前进。
为了使情况明确,我们为你提供屋顶的几何模型。设 $Z$ 是 $x$-$y$ 平面上的一个简单多边形。简单多边形是指边界为一条不自交且不自碰的闭合曲线的多边形。一个合格的金字塔是指满足以下条件的金字塔:其底面是 $x$-$y$ 平面上平行于坐标轴的正方形,且其顶点(最顶端顶点)位于底面中心的直上方。金字塔的高度恰好是其底面边长的一半。此外,合格金字塔底面的任何部分都不能位于 $Z$ 的外部。注意,合格的金字塔在形式上可以具有零底面边长和零高度,此时它仅由一个单点组成,该点也是其顶点。
对于 $x$-$y$ 平面内或其上方的点 $X$,当且仅当 $X$ 是某个合格金字塔的顶点,且 $X$ 的正上方没有任何点是合格金字塔的顶点时,点 $X$ 才是 $Z$ 的屋顶上的一个点。
输入格式
第一行包含五个整数。第一个整数 $N$ ($4 \le N \le 400$) 是由建筑物平面图边缘在 $x$-$y$ 平面内形成的多边形的顶点数。接下来的两个整数是 Rocky Dave 的 $x$ 和 $y$ 坐标,最后两个整数是 Columba Livia 的 $x$ 和 $y$ 坐标。
接下来的 $N$ 行,每行包含多边形一个顶点的 $x$ 和 $y$ 坐标。顶点按逆时针顺序给出。建筑物的每条边都平行于其中一个坐标轴。
两只鸽子都不在给定的多边形外部。所有输入坐标均为绝对值不超过 $10^5$ 的整数。
输出格式
输出 Rocky Dave 旅程的长度。答案的绝对或相对误差必须小于 $10^{-7}$。
样例
输入样例 1
4 3 0 3 4 0 0 4 0 4 4 0 4
输出样例 1
4.828427124746
输入样例 2
6 1 1 5 5 0 0 2 0 2 4 6 4 6 6 0 6
输出样例 2
6.292528739884
图 1:样例 1 和样例 2 的示意图