output_description: 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}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      x_1 y_1
      :
      x_N y_N
attempt: # coding: utf-8
  # Your code here!
  import sys
  
  sys.setrecursionlimit(10**6)
  readline = sys.stdin.readline
  read = sys.stdin.read
  
  # h,w = [int(i) for i in readline().split()]
  # n,*d = [int(i) for i in read().split()]
  
  n = int(input())
  xy = [[int(i) for i in readline().split()] for _ in range(n)]
  
  
  def get_max_dist_and_index(a, b):
      d = [(a - x) ** 2 + (b - y) ** 2 for x, y in xy]
      m = 0
      idx = 0
      for i, di in enumerate(d):
          if m < di:
              idx = i
              m = di
      return m, idx
  
  
  x0 = y0 = 0
  r = 100.0
  ratio = 0.99
  ans = 10000000
  for _ in range(100000):
      m, i = get_max_dist_and_index(x0, y0)
      # print(m,i,x0,y0,r)
      m **= 0.5
      ans = min(ans, m)
      dx, dy = (xy[i][0] - x0), (xy[i][1] - y0)
      x0 += r * dx / m
      y0 += r * dy / m
      r *= ratio
  
  
  print(ans)
  
problem_description: Statement
  
  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.
samples: [{"input": "2\n    0 0\n    1 0", "output": "0.500000000000000000\n    \n\nBoth points are contained in the circle centered at (0.5,0) with a radius of\n0.5.\n\n* * *"}, {"input": "3\n    0 0\n    0 1\n    1 0", "output": "0.707106781186497524\n    \n\n* * *"}, {"input": "10\n    10 9\n    5 9\n    2 0\n    0 0\n    2 7\n    3 3\n    2 5\n    10 0\n    3 7\n    1 9", "output": "6.726812023536805158\n    \n\nIf the absolute or relative error from our answer is at most 10^{-6}, the\noutput will be considered correct."}]