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
n = int(input())
C = []
for i in range(n):
    x, y = map(int, input().split())
    C.append(complex(x, y))


def calc_kyori(O, C):
    res = 0
    for i in range(n):
        temp = abs(O - C[i])
        res = max(temp, res)
    return res


def sannbunn_first(x, my, MY):
    cnt = 100
    while cnt > 0:
        y1 = (2 * my + MY) / 3
        y2 = (my + 2 * MY) / 3
        v1 = calc_kyori(complex(x, y1), C)
        v2 = calc_kyori(complex(x, y2), C)
        if v2 < v1:
            my = y1
        else:
            MY = y2
        cnt -= 1
    return my


def sannbunn_second(mx, MX, my, MY):
    cnt = 100
    while cnt > 0:
        x1 = (2 * mx + MX) / 3
        x2 = (mx + 2 * MX) / 3
        yy1 = sannbunn_first(x1, my, MY)
        v1 = calc_kyori(complex(x1, yy1), C)
        yy2 = sannbunn_first(x2, my, MY)
        v2 = calc_kyori(complex(x2, yy2), C)
        if v2 < v1:
            mx = x1
        else:
            MX = x2
        cnt -= 1
    return mx, yy1, v1


if n == 2:
    ans = abs(C[0] - C[1]) / 2
else:
    rx, ry, ans = sannbunn_second(0, 1000, 0, 1000)
    # ans = calc_kyori(complex(rx, ry), C)
print(ans)
