### constant

DELTA = 1.0e-13

### subroutines

def max_time(x, y, n, swts)
  max_t = 0.0
  max_i = nil

  for i in (0...n)
    xi, yi, vi = swts[i]
    t = Math.sqrt((xi - x) ** 2 + (yi - y) ** 2) / vi
    if max_t < t
      max_t = t
      max_i = i
    end
  end

  [max_t, max_i]
end

### main

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

  swts = n.times.map{gets.split.map(&:to_f)}

  x0 = y0 = 0.0
  for swt in swts
    x0 += swt[0]
    y0 += swt[1]
  end
  x0 /= n
  y0 /= n

  d = 15
  r = 0.98

  while d > DELTA
    max_t, max_i = max_time(x0, y0, n, swts)

    xi, yi = swts[max_i]
    dx = xi - x0
    dy = yi - y0
    dlen = Math.sqrt(dx * dx + dy * dy)
    x0 += dx * d / dlen
    y0 += dy * d / dlen
    d *= r
  end

  puts "%.8f" % max_t
end