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 PYTHON):

Solution:
import math
Point = []
 
def calcAngle(p1,p2):   
    ang = math.atan2(p2[0]-p1[0],p2[1]-p1[1])
    if(ang<0):
        ang += 2*math.pi
    return ang
 
def distance(p1,p2):
    d2 = pow(p2[0]-p1[0],2)+pow(p2[1]-p1[1],2)
    d = math.sqrt(d2)
    return d
 
def CoversM(r,N,M):
    M0 = 0
    for i in xrange(N):
        Arr = []
        for j in xrange(N):
            if(i==j): continue
            d = distance(Point[i],Point[j])
            if(d <= r*2.00):
                t0 = calcAngle(Point[i],Point[j])
                ph = math.acos(float(d)/(2.000*r))
                t1 = t0-ph+2*math.pi
                t2 = t0+ph+2*math.pi
                Arr.append((t1,1))
                Arr.append((t2,-1))
        Arr.sort(key=lambda x: x[0])
        s = 0
        for x in Arr:
            s += x[1]
            M0 = max(M0,s)
    return M0+1 >= M
 
EPS = 1e-7
def Solve(N,M):
    L,H = 0.000,1000000000
    itr = 0
    while(H > L+EPS and ++itr <= 1000):
        R = (L+H)/2.000000
        if(CoversM(R,N,M)==True):
            H = R
        else:
            L = R
    return R
 
if __name__ == "__main__":
    N = input()
    M = N
 
    for i in range(N):
        xi,yi = map(float,raw_input().split())
        Point += [(xi,yi)]
 
    print Solve(N,M)