#P1539. 运输

运输

描述

染染船长想要修复自己的船!

经过一番苦恼后,染染终于分配好了宝藏并保住了自己的性命和地位,准备修复自己的船。

由于船停靠的岸边十分荒芜,染染需要从距离船充分远处的森林里运送木材到船上,才能修补船。

然而,运送木材需要独轮车。从竖直截面上来看,独轮车的单轮并不是规则的圆形,而是简单凸多边形,这导致独轮车不能平滑的在平地上滚动,而需要铺设轨道来辅助近似滚动。

为了达成近似滚动的效果,染染希望在水平地面上铺设一条长 LL 米的轨道,让单轮在轨道上旋转移动,使得在单轮上存在一个点,这个点在单轮旋转前进过程中与水平地面的距离为恒定值,或者说这一点可以做到水平移动,它的轨迹与水平地面平行。

为了节约材料,染染当然还希望铺设的轨道从竖直截面上来看面积最小。

但由于轨道充分长,这个面积并不好表示,所以染染希望知道的是 LL 充分大的情况下面积与 LL 的比值。形式化的,假设在轨道长度为 LL 的情况下这个面积的最小值为 f(L)f(L),则要求:

limL+f(L)L\lim_{L \to +\infty} \frac{f(L)}{L}

输入描述

本题单个测试点内包含多组测试数据。

  • 输入第一行一个正整数 TT (1T201 \leq T \leq 20),表示数据组数。
  • 每组数据第一行一个正整数 nn (3n1053 \leq n \leq 10^5),表示简单凸多边形单轮的顶点数。
  • 接下来 nn 行,第 ii 行两个整数 xi,yix_i, y_i (109xi,yi109-10^9 \leq x_i, y_i \leq 10^9),表示简单凸多边形单轮上一个点的横纵坐标,点按照逆时针顺序给出。
  • 保证不存在两点重合。
  • 保证不存在三点共线。
  • 保证单个测试点内每组数据中 nn 的和不超过 10610^6

输出描述

对于每组数据输出一行一个 6 位小数表示答案四舍五入到小数点后 6 位的结果。

注意本题没有 spj,容易有较大精度误差问题,请尽量选择使用 long double 等高精度浮点数。


样例

1
4
1 0
0 1
-1 0
0 -1
0.181690

提示

答案为 121π\frac{1}{2} - \frac{1}{\pi}