#Lutece3271. Phantom

Phantom

Migrated from Lutece 3271 Phantom

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

TAG:三分套三分

本题面由 空気力学の詩 友情提供

Zwei 奉组织 Inferno 之命,正在执行对敌对组织的侦察活动。

根据 Scythe 给出的情报,敌对组织共有 nn 个待侦查的据点,每个据点可以用二维平面上的一条线段来表示,其中第 ii 个据点对应的线段的端点为 (ai,bi),(ci,di)(a_i,b_i),(c_i,d_i)

Zwei 可以在任意位置放置一个探测器,该探测器的有效侦察范围是一个半径为 RR 的圆(包括边界),其中 RR 的值可以由 Zwei 自行设置。

为了达到侦察的目的,Zwei 必须保证对于每一个待侦察的据点,其对应的线段上(包括端点)至少存在一个点位于探测器的侦察范围之内。

为了尽量减小探测器的功率以达到隐蔽的目的,Zwei 想要知道最小的能满足要求的侦察范围 RR 是多少。

Input

输入的第一行包括一个正整数 nn ,表示待侦察的敌对据点数量。

接下来的 nn 行每行四个整数 ai,bi,ci,dia_i,b_i,c_i,d_i,表示第 ii 个据点对应的线段的端点。

Output

输出一行一个数,即满足要求的最小侦察范围 RR 的值,请采用 printf("%e\n", ans);printf("%Le\n", ans); 输出。

Samples

4
2 3 2 10
4 0 12 6
4 8 6 3
7 8 10 8
3.319049e+00

Constraints

2n100,1000ai,bi,ci,di10002\le n\le 100,-1000\le a_i,b_i,c_i,d_i\le 1000

输入数据保证所有线段不退化为一个点(即 (ai,bi)(ci,di)(a_i,b_i)\ne (c_i,d_i);同时保证任意两条线段严格不相交

Note

此为样例的示意图,其中绿色线段为待侦察的敌对组织的据点对应的线段,蓝色的圆表示探测器的侦察范围。

在本例中,探测器放置于 (321154,211152)(\frac{32-\sqrt {115}}{4},\frac{21-\sqrt{115}}{2})处,侦察半径 RR241154\frac{24-\sqrt {115}}{4},满足每个敌方据点对应的线段均有至少一个点在探测器的侦察范围内。

Resources

2024 UESTC ICPC Training for Geometry