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:
# 解説AC
from math import sin, sqrt

N = int(input())
XY = [[int(i) for i in input().split()] for _ in range(N)]

INF = 10 ** 6

def circumcenter(i,j,k):
    """ 3点を通る円の中心(外心) """
    a,b = XY[i]
    c,d = XY[j]
    e,f = XY[k]

    aa, bb, cc, dd, ee, ff = a**2, b**2, c**2, d**2, e**2, f**2

    try:
        y = ((e - a) * (aa + bb - cc - dd) - (c - a) * (aa + bb - ee- ff)) / (2 * (e - a)*(b - d) - 2 * (c - a) * (b - f))
        x = (2 * (b - f) * y - aa - bb + ee + ff) / (2 * (e - a)) if (c == a) else (2 * (b - d) * y - aa - bb + cc + dd) / (2 * (c - a))
    except ZeroDivisionError as e:
        return (-INF, -INF)

    return (x,y)

def radius(x,y):
    """ 半径を求める """
    dist = 0
    for X,Y in XY:
        tmp = pow(X-x, 2) + pow(Y-y, 2)
        dist = max(dist, tmp)
    return sqrt(dist)

def midpoint(a,b):
    """ 2点の中点 """
    xa, ya = XY[a]
    xb, yb = XY[b]
    
    x = (xa + xb) / 2
    y = (ya + yb) / 2

    return (x, y)

def main():
    ans = float("inf")

    # 2点を直径とする円
    for a in range(N):
        for b in range(a+1,N):
            x,y = midpoint(a,b)
            r = radius(x,y)
            ans = min(ans, r)

    # 3点を通る円
    for a in range(N):
        for b in range(a+1,N):
            for c in range(b+1,N):
                x,y = circumcenter(a,b,c)
                r = radius(x,y)
                ans = min(ans, r)

    print("{0:.7f}".format(ans))

if __name__ == "__main__":
    main()