loop do
  n = gets.to_i
  break if n.zero?
  cs = n.times.map { gets.split.map(&:to_i) }
  gets.to_i.times do
    x1, x2, o1, o2 = gets.split.map(&:to_i)
    puts cs.any? {|c1, c2, r|
      a1, b1 = x1 - o1, o1 - c1
      a2, b2 = x2 - o2, o2 - c2
      d = (a1 * b1 + a2 * b2)**2 - (a1**2 + b1**2) * (b1**2 + b2**2 - r**2)
      if d >= 0
        t1 = (-(a1 * b1 + a2 * b2) + Math.sqrt(d)) / (a1**2 + b1**2)
        t2 = (-(a1 * b1 + a2 * b2) - Math.sqrt(d)) / (a1**2 + b1**2)
      end
      d >= 0 && (0 <= t1 && t1 <= 1 || 0 <= t2 && t2 <= 1)
    } ? 'Safe' : 'Danger'
  end
end