主厨马里奥在他的餐厅里。
受他在 UCLA 访问的启发,马里奥正试图开设他的新意式餐厅“面条先生”(“Mr. Noodle”)。他的招牌菜是直面条!
为了让菜肴更有趣,马里奥将直面条排列成凸多边形的形状。为了上菜,出于美学考虑,马里奥希望将多边形装在尽可能小的圆盘中。
马里奥有 $N$ 根直面条,对于 $i = 1, 2, \dots, N$,其长度为 $a_i$。求最小半径 $r$,使得存在一个边长为 $a_i$ 的凸多边形,能够放入半径为 $r$ 的圆内。保证存在一个由边长 $a_i$ 构成的非退化凸多边形。
输入格式
输入的第一行包含一个整数 $N$($3 \le N \le 100\,000$),表示线段的数量。
第二行包含 $N$ 个空格分隔的整数 $a_1, a_2, \dots, a_N$($1 \le a_i \le 10^9$),表示面条的边长。
输出格式
输出一行,包含一个实数 $r$,表示最小可能的半径。如果相对误差不超过 $10^{-6}$,则答案将被视为正确。
样例
输入样例 1
4 1 1 1 1
输出样例 1
0.7071067812
输入样例 2
5 2 3 4 5 6
输出样例 2
3.52095745