N = int(input())
Ps = []
for i in range(N):
    Ps.append(list(map(int,input().split())))
    
#print(Ps)

#3点を通る円のクラス
class p3_circle():
    def __init__(self,x1,y1,x2,y2,x3,y3):
        try:
            numerator = x1**2*(y3-y2) + x2**2*(y1-y3) + x3**2*(y2-y1) - (y1-y3)*(y3-y2)*(y2-y1)
            denominator = x1*(y3-y2) + x2*(y1-y3) + x3*(y2-y1)
            x = numerator/denominator/2
            numerator = y1**2*(x3-x2) + y2**2*(x1-x3) + y3**2*(x2-x1) - (x1-x3)*(x3-x2)*(x2-x1)
            denominator = y1*(x3-x2) + y2*(x1-x3) + y3*(x2-x1)
            y = numerator/denominator/2
            pivot = [x,y]
            r1 = ((x-x1)**2 + (y-y1)**2)**0.5
            r2 = ((x-x2)**2 + (y-y2)**2)**0.5
            r3 = ((x-x3)**2 + (y-y3)**2)**0.5
            r = (r1+r2+r3)/3
        except:
            pivot = -1
            r = -1
            
        self.pivot = pivot
        self.r = r
        
    def in_circle(self,xp,yp):
        try:
            rp = ((self.pivot[0]-xp)**2 + (self.pivot[1]-yp)**2)**0.5
            if rp <= self.r:
                return True
            else:
                return False
        except:
            return -1
            
#2点を直径とする円のクラス
class p2_circle():
    def __init__(self,x1,y1,x2,y2):

        x = (x1+x2)/2
        y = (y1+y2)/2
        pivot = [x,y]
        r = ((x1-x2)**2 + (y1-y2)**2)**0.5/2
            
        self.pivot = pivot
        self.r = r
        
    def in_circle(self,xp,yp):
        rp = ((self.pivot[0]-xp)**2 + (self.pivot[1]-yp)**2)**0.5
        if rp <= self.r:
            return True
        else:
            return False


Rs = []
N = len(Ps) #要素数
#任意の3点を通る円、もしくは、任意の2点を直径とする円について、すべての点が円内にあるもののうち、最小の直径となるものを求める。

#print("----- 3 points -----")
#任意の3点を通る円
for i in range(N):
    for j in range(i+1,N):
        for k in range(j+1,N):
            all_in = True
            x1 = Ps[i][0]
            y1 = Ps[i][1]
            x2 = Ps[j][0]
            y2 = Ps[j][1]
            x3 = Ps[k][0]
            y3 = Ps[k][1]
            c = p3_circle(x1,y1,x2,y2,x3,y3)
            #print("circle is on",[x1,y1],[x2,y2],[x3,y3])
            #円が出来るときは
            if c.r > 0:
                #すべての他の点について
                for l in range(N):
                    if l == i or l == j or l == k:
                        continue
                    else:
                        x4 = Ps[l][0]
                        y4 = Ps[l][1]
                        if not c.in_circle(x4,y4):
                            all_in = False
                            #print([x4,y4],"is out")
                            break
                #残りのすべての点が円内に含まれるなら
                if all_in:
                    #print("all points are in circle!!")
                    Rs.append(c.r)
#print(Rs)

#print("----- 2 points -----")
#任意の2点を直径とする円
for i in range(N):
    for j in range(i+1,N):
        all_in = True
        x1 = Ps[i][0]
        y1 = Ps[i][1]
        x2 = Ps[j][0]
        y2 = Ps[j][1]
        c = p2_circle(x1,y1,x2,y2)
        #print("circle is on",[x1,y1],[x2,y2])
        
        #すべての他の点について
        for l in range(N):
            if l == i or l == j:
                continue
            else:
                x4 = Ps[l][0]
                y4 = Ps[l][1]
                if not c.in_circle(x4,y4):
                    all_in = False
                    #print([x4,y4],"is out")
                    break
        #残りのすべての点が円内に含まれるなら
        if all_in:
            #print("all points are in circle!!")
            Rs.append(c.r)
#print(Rs)
print(min(Rs))
                
                    
                    


Measured memory_bytes: 3316