你发现了一块非常尖锐的石头,它可以被描述为一个凸多边形。你决定运用一些技巧让它变得更圆滑。你可以通过削掉石头的某个角(顶点)来“磨圆”它,前提是你不能同时磨圆另一个角,也就是说,一次只能磨圆一个角。
注意,当一个顶点(角)被磨圆时,它会被两个新的顶点所取代。因此,如果需要的话,这些新的顶点(角)也可以被磨圆。
为了使石头尽可能圆滑,你必须确保在对给定的石头进行固定次数的磨圆操作后,多边形的最大外角尽可能小。
几何复习:多边形的外角是指多边形顶点处,由一条边和相邻边的延长线所形成的位于多边形外部的角。换句话说,如果延长多边形的一条边,在多边形外部形成的角就是外角。
题目描述
给定用 $xy$ 坐标描述的石头形状以及可以磨圆的次数,确定磨圆后最大外角的最小值。
输入格式
第一行包含两个整数 $C$ 和 $S$ ($1 \le C \le 5,000$; $1 \le S \le 10^9$),分别表示石头的角数和可以磨圆的次数。接下来的 $C$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-100,000 \le x_i, y_i \le 100,000$),表示石头第 $i$ 个角的 $x$ 坐标和 $y$ 坐标(多边形的顶点按顺时针顺序给出)。
输出格式
单独一行输出一个浮点数:执行所有磨圆操作后,最大外角的最小值。与预期答案的绝对误差或相对误差在 $10^{-6}$ 以内的答案将被视为正确。
样例
样例输入 1
3 6 0 0 0 10 10 0
样例输出 1
225.00000000000003
样例输入 2
4 3 -1 1 1 1 1 -1 -1 -1
样例输出 2
270.00000000000006