#https://atcoder.jp/contests/abc151/submissions/9485142
#最小包含問題
#三分探索(二次元)
def distance(x1, y1, x2, y2)
  dx = x1 - x2
  dy = y1 - y2
  Math.sqrt(dx ** 2 + dy **2 )
end

def f(x, y)
  max = 0
  XY.each do |a, b|
    max = [max, distance(x, y, a, b)].max
  end
  max
end

def g(x)
  l = 0
  r = 1000
  80.times do
    cl = (l * 2 + r)/3.0
    cr = (l + r * 2)/3.0
    if f(x, cl) > f(x, cr)
      l = cl
    else
      r = cr
    end
  end
  f(x, l)
end

def main()
  l = 0
  r = 1000
  80.times do
    cl = (l * 2 + r)/3.0
    cr = (l + r * 2)/3.0
    if g(cl) > g(cr)
      l = cl
    else
      r = cr
    end
  end
  puts sprintf("%.12f", g(l))
end

N = gets.to_i
XY = N.times.map{gets.split.map(&:to_i)}
main()