你正在开发一款电子游戏。游戏的目标是躲避来自著名外星种族克林贡人(Klingons)的攻击。玩家最初站在无限二维平面的原点。玩家可以以不超过游戏设定的速度限制的任意方向移动。
克林贡飞船将进行 $N$ 次攻击。第 $i$ 次攻击发生在时间 $T_i$,并轰炸平面上除安全区以外的所有点。每次攻击的安全区形状可能不同,但它们始终是平面上的凸多边形。为了在轰炸发生时避免被击中,玩家必须位于该安全区内。安全区的边界也被视为安全。如果玩家成功躲避了所有 $N$ 次攻击,则视为通关。玩家在游戏开始前已知晓所有 $N$ 次攻击的相关信息。
你已经确定了所有 $N$ 次攻击的安全区形状。剩下的任务是为玩家设定速度限制。当然,玩家移动速度越快,游戏就越容易。另一方面,如果速度限制太低,可能无法通关。为了调整游戏的难度,请计算出能够通关的最小速度限制。
输入格式
第一行包含一个整数 $C$ ($1 \le C \le 20$),表示输入中的测试用例数量。
每个测试用例以一行包含一个整数 $N$ 开始:该测试用例中克林贡攻击的次数 ($1 \le N \le 20$)。随后是各次攻击的描述。
第 $i$ 次攻击的描述以一行两个整数开始:$T_i$(攻击发生的时间,$1 \le T_i \le 100$)和 $M_i$(第 $i$ 次攻击安全区的多边形顶点数,$3 \le M_i \le 20$)。接下来是 $M_i$ 行,每行包含两个整数 $(x_{i,j}, y_{i,j})$,表示第 $i$ 个多边形的第 $j$ 个顶点的坐标 ($-100 \le x_{i,j} \le 100, -100 \le y_{i,j} \le 100$)。多边形的顶点按逆时针顺序给出。
保证所有给定的多边形都是凸多边形。单个多边形的任意三个顶点不在同一直线上。你可以假设 $T_1 < T_2 < \dots < T_N$。
输出格式
对于每个测试用例,输出一行,包含一个实数,即能够通关的最小速度限制。特别地,如果玩家即使不动也能躲避所有轰炸,则答案为 0。如果答案的绝对误差或相对误差不超过 $10^{-5}$,则视为正确。
样例
样例输入 1
2 2 10 3 3 5 7 5 3 9 15 4 0 9 8 1 16 9 8 17 3 10 3 1 0 2 0 1 1 15 3 2 0 2 1 1 1 30 3 3 2 5 2 5 3
样例输出 1
0.5830951894904501 0.1201850425186421
样例输入 2
1 3 1 4 0 0 5 0 5 5 0 5 2 4 0 0 -5 0 -5 -5 0 -5 3 4 5 5 -5 5 -5 -5 5 -5
样例输出 2
0.0000000000009095