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:
import sys
from math import hypot
readline = sys.stdin.readline

N = int(readline())
Points = [tuple(map(int, readline().split())) for _ in range(N)]

inf = 10**9+7
EPS = 1e-8
ans = inf
for i in range(N):
    for j in range(i):
        a = Points[i][0]
        b = Points[i][1]
        c = Points[j][0]
        d = Points[j][1]
        px, py = (a+c)/2, (b+d)/2
        R = hypot(a-px, b-py)
        if all(hypot(px-xi, py-yi) <= R+EPS for xi, yi in Points):
            ans = min(ans, R)
            
for i in range(N):
    for j in range(i):
        for k in range(j):
            a = Points[i][0]
            b = Points[i][1]
            c = Points[j][0]
            d = Points[j][1]
            e = Points[k][0]
            f = Points[k][1]
            
            ea = hypot(c-e, d-f) + EPS
            eb = hypot(a-e, b-f) + EPS
            ec = hypot(a-c, b-d) + EPS
            cA = (ec**2+eb**2-ea**2)/(2*ec*eb)
            cB = (ec**2-eb**2+ea**2)/(2*ec*ea)
            cC = (-ec**2+eb**2+ea**2)/(2*ea*eb)
            sA = (1-cA**2)**0.5
            sB = (1-cB**2)**0.5
            sC = (1-cC**2)**0.5
            s2A = 2*sA*cA
            s2B = 2*sB*cB
            s2C = 2*sC*cC
            if max(s2A, s2B, s2C) < EPS:
                continue
            else:
                px = (a*s2A + c*s2B + e*s2C)/(s2A+s2B+s2C)
                py = (b*s2A + d*s2B + f*s2C)/(s2A+s2B+s2C)
                R = hypot(px - a, py - b)
            
            if all(hypot(px-xi, py-yi) <= R+EPS for xi, yi in Points):
                ans = min(ans, R)
print(ans)