#最小包含円問題

#凸包(外側の点を抜き出す)
def totuhou(pos_ary)
  xy_dup = pos_ary.map(&:dup)
  res = [xy_dup[0]]
  loop do
    lx, ly = res.last
    nindex = 0
    nsita = 2*Math::PI
    nr = Float::INFINITY
    xy_dup.size.times do |i|
      nx, ny = xy_dup[i][0] - lx, xy_dup[i][1] - ly
      sita = Math.atan2(ny, nx)
      sita += 2*Math::PI if sita < 0
      r = Math.sqrt(ny**2 + nx**2)
      next if xy_dup[i] == res.last
      if nsita > sita || (nsita == sita && nr > r)
        nindex = i
        nsita = sita
        nr = r
      end
    end
    if res.first == xy_dup[nindex]
      break
    else
      res << xy_dup.delete_at(nindex)
    end
  end
  res
end

#凸包の三点から直径を計算する
def diameter(pos_ary)
  d = 0
  pos_ary.combination(3).each do |data|
    pa = data[0]
    pb = data[1]
    pc = data[2]
    ab = Math.sqrt((pa[0] - pb[0])**2 + (pa[1] - pb[1])**2)
    ac = Math.sqrt((pa[0] - pc[0])**2 + (pa[1] - pc[1])**2)
    bc = Math.sqrt((pb[0] - pc[0])**2 + (pb[1] - pc[1])**2)
    sita_a = (Math.atan2(pb[1] - pa[1], pb[0] - pa[0]) - Math.atan2(pc[1] - pa[1], pc[0] - pa[0])).abs
    sita_b = (Math.atan2(pa[1] - pb[1], pa[0] - pb[0]) - Math.atan2(pc[1] - pb[1], pc[0] - pb[0])).abs
    sita_c = Math::PI - sita_a - sita_b
    if sita_a < Math::PI/2 && sita_b < Math::PI/2 && sita_c < Math::PI/2
      d = [d, bc / Math.sin(sita_a)].max
    else
      d = [d, ab, ac, bc].max
    end
  end
  d/2
end

n = gets.to_i
xy = n.times.map{gets.split.map(&:to_i)}.sort_by{|a| [a[1], a[0]]}.uniq

if n == 2
  puts Math.sqrt((xy[1][0] - xy[0][0])**2 + (xy[1][1] - xy[0][1])**2)/2 
else
  puts diameter(totuhou(xy))
end