### constant

INF = Float::INFINITY
DELTA = 1e-11

MIN_X = MIN_Y = 0.0
MAX_X = MAX_Y = 10000.0
MAX_D = 10000.0

### classes

class Pt
  attr_accessor :x, :y

  def initialize() end
  def initialize(x, y) @x = x; @y = y end

  def ==(pt) @x == pt.x && @y == pt.y end
  def +(pt) Pt.new(@x + pt.x, @y + pt.y) end
  def -(pt) Pt.new(@x - pt.x, @y - pt.y) end
  def -@() Pt.new(-@x, -@y) end
  def *(t) Pt.new(@x * t, @y * t) end
  def /(t) Pt.new(@x / t, @y / t) end
  def dot(v) @x * v.x + @y * v.y end
  def cross(v) @x * v.y - @y * v.x end
  def d2() @x * @x + @y * @y end
  def d() Math.sqrt(d2()) end
  def to_s() "(#{@x},#{@y})" end
end

### global variables

### subroutines

def cross_lines(ap, av, bp, bv)
  cr01 = av.cross(bv)
  return nil if cr01 == 0.0

  ab = bp - ap
  cr0 = ab.cross(av)
  cr1 = ab.cross(bv)

  t0 = cr1 / cr01
  t1 = cr0 / cr01

  cl = av * t0 + ap
  #p [ap.to_s, av.to_s, bp.to_s, bv.to_s, cl.to_s]
  cl
end

def convex_cut(cpol, pt, v)
  n = cpol.length
  cpol0 = []

  for i in (0...n)
    cpt0 = cpol[i]
    cr0 = v.cross(cpt0 - pt)
    if cr0 >= 0.0
      cpol0 << cpt0
    end
    
    cpt1 = cpol[(i + 1) % n]
    cr1 = v.cross(cpt1 - pt)
    if cr0 * cr1 < 0.0
      pt = cross_lines(pt, v, cpt0, cpt1 - cpt0)
      cpol0 << pt
    end
  end

  #p cpol0.map{|pt| pt.to_s}; exit
  cpol0
end

### main

$max_conv = [
  Pt.new(MIN_X - 1, MIN_Y - 1), Pt.new(MAX_X + 1, MIN_Y - 1),
  Pt.new(MAX_X + 1, MAX_Y + 1), Pt.new(MIN_X - 1, MAX_Y + 1)
]

loop do
  $n = gets.to_i
  break if $n == 0

  $pts = $n.times.map{Pt.new(*gets.split.map(&:to_f))}
  $pts << $pts.first
  #p $pts.map{|pt| pt.to_s}

  $vecs = (0...$n).map{|i| $pts[i + 1] - $pts[i]}
  $nrvecs = $vecs.map{|v| d = v.d(); Pt.new(-v.y / d, v.x / d)}
  #p $vecs.map{|v| v.to_s}
  #p $nrvecs.map{|v| v.to_s}

  ld = 0.0
  ud = MAX_D 

  while (ud - ld > DELTA)
    md = (ld + ud) / 2

    cpol = $max_conv
    for i in (0...$n)
      cpol = convex_cut(cpol, $pts[i] + $nrvecs[i] * md, $vecs[i])
    end

    if ! cpol.empty?
      ld = md
    else
      ud = md
    end
  end

  d = (ld + ud) / 2
  puts "%.6f" % d
end