lines = []
while line = gets
    lines << line.chomp.split(' ').map(&:to_i)
end

N =lines[0][0]
x = []
y = []
for i in 1..N do
  x.push(lines[i][0])
  y.push(lines[i][1])
end

def dist(i,j,x,y)
  return ((x[j-1] - x[i-1]) ** 2 + (y[j-1] - y[i-1]) ** 2) ** 0.5
end

def straight?(ij,jk,ki)
  a = (ij + jk == ki)
  b = (jk + ki == ij)
  c = (ki + ij == jk)
  return (a or b or c)
end

def max(x,y,z)
  if x < y then
    if y < z then
      return z
    else
      return y
    end
  else
    if x < z then
      return z
    else
      return x
    end
  end
end

def radius(i,j,k,x,y)
  ij = dist(i,j,x,y)
  jk = dist(j,k,x,y)
  ki = dist(k,i,x,y)
  cosi = (ij ** 2 + ki ** 2 - jk ** 2) / (2 * ij * ki)
  sini = (1 - cosi ** 2) ** 0.5
  if straight?(ij,jk,ki) then
    return max(ij,jk,ki) / 2
  else
    return jk / (2 * sini)
  end
end
  
if N == 2 then
  print dist(1,2,x,y) / 2
else
  max_radius = 0
  for i in 1..(N-2) do
    for j in (i+1)..(N-1) do
      for k in (j+1)..N do
        new_radius = radius(i,j,k,x,y)
        if max_radius < new_radius then
          max_radius = new_radius
        end
      end
    end
  end
  print new_radius
end