Problem: Given are N points (x_i, y_i) in a two-dimensional plane.

Find the minimum radius of a circle such that all the points are inside or on it.

Constraints

* 2 \leq N \leq 50
* 0 \leq x_i \leq 1000
* 0 \leq y_i \leq 1000
* The given N points are all different.
* The values in input are all integers.

Input

Input is given from Standard Input in the following format:


N
x_1 y_1
:
x_N y_N


Output

Print the minimum radius of a circle such that all the N points are inside or on it.

Your output will be considered correct if the absolute or relative error from our answer is at most 10^{-6}.

Examples

Input

2
0 0
1 0


Output

0.500000000000000000


Input

3
0 0
0 1
1 0


Output

0.707106781186497524


Input

10
10 9
5 9
2 0
0 0
2 7
3 3
2 5
10 0
3 7
1 9


Output

6.726812023536805158

Solution (in PYTHON3):

Solution:
from math import sqrt

N = int(input())
THRE = 0.0000001
ps = []
for _ in range(N):
    x, y = map(int, input().split())
    ps.append((x,y))

# 2点を直径とする円の中心と半径を求める
def circleThrough2Points(x1, y1, x2, y2):
    if x1 == x2 and y1 == y2:
        return None, None, None
    px = (x1 + x2) / 2
    py = (y1 + y2) / 2
    r = (px - x1)**2 + (py - y1)**2
    return px, py, r


# 3点を通る円の中心と半径を求める
def circleThrough3Points(x1, y1, x2, y2, x3, y3):
    a, b, c, d, e, f = x1, y1, x2, y2, x3, y3
    a2, b2, c2, d2, e2, f2 = a*a, b*b, c*c, d*d, e*e, f*f

    py_1 = 2*(e-a)*(b-d) - 2*(c-a)*(b-f)
    if py_1 == 0:
        return None, None, None
    py_2 = (e-a)*(a2+b2-c2-d2) - (c-a)*(a2+b2-e2-f2)
    py = py_2 / py_1

    if a != c:
        px = (2*(b-d)*py-a2-b2+c2+d2) / (2*(c-a))
    else:
        px = (2*(b-f)*py-a2-b2+e2+f2) / (2*(e-a))

    r = (px - a)**2 + (py - b)**2
    return px, py, r

ans = float('inf')
for i in range(N):
    x1, y1 = ps[i]
    for j in range(i+1, N):
        x2, y2 = ps[j]
        px, py, r = circleThrough2Points(x1, y1, x2, y2)
        if r is not None:
            if all([(px-x)**2 + (py-y)**2 <= r + THRE for x,y in ps]):
                ans = ans if ans < r else r

        for k in range(j+1, N):
            x3, y3 = ps[k]
            px, py, r = circleThrough3Points(x1, y1, x2, y2, x3, y3)
            if r is not None:
                if all([(px-x)**2 + (py-y)**2 <= r + THRE for x,y in ps]):
                    ans = ans if ans < r else r
print(sqrt(ans))