#1012. L. 注重风控,风火轮模型

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: JM233333

题目描述

在公司发展的同时,你还非常注重风险控制,“金湖量化”团队是通过模型的方式进行事前风控,风控模型内切在选股模型当中,在某些舆情信息出现之后,如果是负面的,就会直接剔除相关个股,防止出现极端市场行情导致大跌的后果。这种风控模型你们称之为“风火轮”。

风火轮的外壳是一个半径为 的空心圆,内部有一个 个点的凸多边形,这个多边形在圆壳的内部滚动。多边形顶点按照逆时针顺序给出,保证每一个顶点都有机会接触圆壳。

起初 号点和 号点一定在圆上,初始以 号点为轴心、然后依次以 号点为轴心“滚动”。具体地讲,在以 号点为轴心“滚动”时,多边形将保持 号点不动,并以该点为中心开始顺时针旋转,直到 号点接触圆为止,然后更换轴心,继续“滚动”。

求多边形从初始开始滚动、直到 号点再次到达圆上成为轴心为止, 号点在整个滚动过程中所经过的路程是多少。

image

输入格式

第一行输入两个正整数

接下来 行,每行两个浮点数 代表 号点的初始坐标。

输出格式

输出一行一个浮点数,代表答案。

样例

样例输入

3 5
0 0
1 0
0 3

样例输出

8.05082557797666886756

数据范围与提示

本题使用spj评测,只要绝对值误差不超过 即可评测通过。样例虽然不满足 的限制,但是是一个好的样例,你的程序应当能够通过样例。