#include <iostream>
#include <cstdio>
#include <vector>
#include <complex>
#include <cmath>
#include <algorithm>
using namespace std;

// * XYテ・ツコツァテヲツィツ?
#define X real()
#define Y imag()

// * テァツつケテ」ツ?ョティツ。ツィテァツ渉セ
typedef complex<double> P;

// * ティツィツアテ・ツョツケテ」ツ?凖」ツつ凝ィツェツ、テ・ツキツョテ篠オ
const double EPS = 1e-10;
// * Infinity
const double INF = 1e12;
// * テ・ツ??・ツ堕ィテァツ篠?
const double PI = acos(-1.0);
// * Infinity 2
const P INF_P(INF,INF);

// * complex<double> テ」ツ?ョテゥツ??・ツコツ湘」ツつ津・ツョツ堙ァツセツゥテ」ツ?凖」ツつ?
namespace std {
	bool operator < (const P& a, const P& b) {
		return (real(a) != real(b))? real(a) < real(b) : imag(a) < imag(b);
	}
}

// * テァツつケテ・ツコツァテヲツィツ凖」ツ?ョテ」ツδ?」ツδ静」ツδε」ツつーテ・ツ?コテ・ツ環?
void print(P p) {
	cout << "point" << p << ";" << endl;
}

// * 2テ、ツケツ療」ツ?凖」ツつ?
double sq(double x) {
	return x * x;
}

// * 2テァツつケテゥツ鳴禿」ツ?ョティツキツ敕ゥツ崢「
double dist(P p1, P p2) {
	return abs(p1 - p2);
}

// * 2テ」ツ?、テ」ツ?ョテ」ツつケテ」ツつォテ」ツδゥテ」ツδシテ」ツ?古ァツュツ嘉」ツ?療」ツ??」ツ?凝」ツ?ゥテ」ツ??」ツ??
bool equal(double a, double b) {
	return ( fabs( a - b ) < EPS );
}
// * 2テ」ツ?、テ」ツ?ョテ」ツδ凖」ツつッテ」ツδ暗」ツδォテ」ツ?古ァツュツ嘉」ツ?療」ツ??」ツ?凝」ツ?ゥテ」ツ??」ツ??
bool eq_v(P a, P b) {
	return ( equal( a.X, b.X ) && equal( a.Y, b.Y ) );
}

// テ」ツδ凖」ツつッテ」ツδ暗」ツδォaテ」ツ?ョテ・ツ債佚、ツスツ催」ツδ凖」ツつッテ」ツδ暗」ツδォテ」ツつ津ヲツアツづ」ツつ?」ツつ?
P unit(P a) {
	return a / abs(a);
}

// テ」ツδ凖」ツつッテ」ツδ暗」ツδォaテ」ツ?ョテヲツウツ陛ァツキツ堙」ツδ凖」ツつッテ」ツδ暗」ツδォテ」ツつ津ヲツアツづ」ツつ?」ツつ?
vector<P> normal(P a) {
	vector<P> vp;
	vp.push_back( a * P(0,  1) );
	vp.push_back( a * P(0, -1) );
	return vp;
}

// テ」ツδ凖」ツつッテ」ツδ暗」ツδォ a テ」ツ?ョテ・ツ債佚、ツスツ催ヲツウツ陛ァツキツ堙」ツδ凖」ツつッテ」ツδ暗」ツδォテ」ツつ津ヲツアツづ」ツつ?」ツつ?
vector<P> normal_unit(P a) {
	vector<P> vp;
	vp.push_back( (a * P(0,  1)) / abs(a) );
	vp.push_back( (a * P(0, -1)) / abs(a) ) ;
	return vp;
}

// * テ・ツ??ァツゥツ?(dot product) : aテ」ツδサb = |a||b|cosテ篠?
double dot(P a, P b) {
	return real( conj(a) * b );
}

// * テ・ツ、ツ姪ァツゥツ?(cross product) : aテδ傭 = |a||b|sinテ篠?
double cross(P a, P b) {
	return imag( conj(a) * b ) ;
}

// CCW : テ・ツ渉催ヲツ卍づィツィツ暗・ツ崢榲」ツつ?(Counter Clock Wise)
// CW : テヲツ卍づィツィツ暗・ツ崢榲」ツつ?(Clock Wise)
enum {CCW=1, CW=-1, ON=0};
// * 3テァツつケテ」ツ?古」ツ?ゥテ」ツ?。テ」ツつ嘉・ツ崢榲」ツつ甘」ツ?ァテ」ツ?づ」ツつ凝」ツ?凝ィツソツ氾」ツ?? 3テァツつケテ」ツ??テァツ崢エテァツキツ堙」ツ?ォテ、ツケツ療」ツ?」テ」ツ?ヲテ」ツ??」ツつ凝」ツ?ィテ」ツ?催」ツ?ッ ON テ」ツつ津ィツソツ氾」ツ??
int ccw(const P &a, P b, P c) {
    b-=a, c-=a;
    if( cross(b,c) >  EPS ) return CCW; // CCW : テ・ツ渉催ヲツ卍づィツィツ暗・ツ崢榲」ツつ?
    if( cross(b,c) < -EPS ) return CW;  // CW : テヲツ卍づィツィツ暗・ツ崢榲」ツつ?
    if(dot(b, c) < -EPS )   return +2;  // c--a--b on line
    if(dot(b, b) + EPS < dot(c, c) ) return -2; // a--b--c on line ???
    return ON;
}

// テ」ツδゥテ」ツつクテ」ツつ「テ」ツδウテ」ツ?凝」ツつ嘉・ツコツヲテヲツ閉ーテ」ツ?クテ・ツ、ツ嘉ヲツ渉崚」ツ?療」ツ?ヲティツソツ氾」ツ??
double to_deg(double rad) {
	return rad * 180.0 / PI;
}

// テ・ツコツヲテヲツ閉ーテ」ツ?凝」ツつ嘉」ツδゥテ」ツつクテ」ツつ「テ」ツδウテ」ツ?ォテ・ツ、ツ嘉ヲツ渉崚」ツ?療」ツ?ヲティツソツ氾」ツ??
double to_rad(double deg) {
	return deg * PI / 180.0;
}

// テ・ツ篠淌ァツつケテ」ツつ津ィツサツクテ」ツ?ォテァツつケ p テ」ツつ津ィツァツ津・ツコツヲ a (テ」ツδゥテ」ツつクテ」ツつ「テ」ツδウ)テ」ツ??」ツ?妥・ツ崢榲ィツサツ「テ」ツ?陛」ツ?崚」ツ?淌ァツつケテ」ツつ津ィツソツ氾」ツ??
P rot(P p, double a){
	double x = p.X * cos(a) - p.Y * sin(a);
	double y = p.X * sin(a) + p.Y * cos(a);
	return P(x,y);
}

// テァツつケ a テ」ツつ津ィツサツクテ」ツ?ォテァツつケ b テ」ツつ津ィツァツ津・ツコツヲ a (テ」ツδゥテ」ツつクテ」ツつ「テ」ツδウ)テ」ツ??」ツ?妥・ツ崢榲ィツサツ「テ」ツ?陛」ツ?崚」ツ?淌ァツつケテ」ツつ津ィツソツ氾」ツ??
P rot2(P a, P b, double angle){
	P p = b - a;
	return rot( p , angle ) + a;
}

// テァツつケ a テ」ツ?凝」ツつ?テァツつケ b テ」ツ?クテ」ツ?ョティツァツ津・ツコツヲテ」ツつ津ィツソツ氾」ツ??[0,2テ渉?
double dir(P a, P b) {
	P p = a - b;
	double angle = atan2( p.Y , p.X );
	if( p.X < 0 ) angle += PI;
	if( angle < 0 ) angle += 2.0 * PI;
	return angle;
}

// テァツキツ堙・ツ按?」ツ?ョティツ。ツィテァツ渉セ
struct Segment{
	// テァツつケ a, b テ」ツつ津ァツォツッテァツつケテ」ツ?ィテ」ツ?凖」ツつ凝ァツキツ堙・ツ按?
	P a, b;
	// テ」ツつウテ」ツδウテ」ツつケテ」ツδ暗」ツδゥテ」ツつッテ」ツつソテ」ツ?ァテ・ツ按敕ヲツ慊淌・ツ個?
	Segment(P a_, P b_) {
		// x テ・ツコツァテヲツィツ凖」ツ?ョテ・ツーツ湘」ツ?陛」ツ??」ツ?サテ」ツ??」ツ?ョテァツつケテ」ツつ?テァツつケ a テ」ツ?ィテ」ツ?凖」ツつ? (テ、ツクツ催ィツヲツ?」ツ?ェテ」ツ?ィテ」ツ?催」ツ?ッテ」ツ?禿」ツ?ョ1ティツ。ツ古」ツつ津・ツ可甘ゥツ卍、テ」ツ?凖」ツつ凝」ツ?禿」ツ?ィ!!!)
		if( b_ < a_ ) swap(a_,b_);
		a = a_; b = b_;
	}
	// テァツキツ堙・ツ按?」ツ?ョテゥツ閉キテ」ツ?陛」ツつ津ィツソツ氾」ツ??
	double length() { return abs(a-b); }
	// テ、ツクツュテァツつケテ」ツつ津ィツソツ氾」ツ??
	P mid() { return P( (a.X+b.X)/2.0 , (a.Y+b.Y)/2.0 ); }
	// テァツつケ p テ」ツ?古ァツキツ堙・ツ按?、ツクツ甘」ツ?ォテ」ツ?づ」ツつ凝」ツ?凝」ツ?ゥテ」ツ??」ツ??
	bool contain(P p) { return (abs(a-p) + abs(p-b) < abs(a-b) + EPS); }
	// テァツキツ堙・ツ按?」ツ?ィテァツつケ p テ」ツ?ョティツキツ敕ゥツ崢「
	double distance(P p) {
		if( dot(b-a, p-a) < EPS ) return abs(p-a);
		if( dot(a-b, p-b) < EPS ) return abs(p-b);
		return abs(cross(b-a, p-a)) / abs(b-a);
	}
	// テァツキツ堙・ツ按?s テ」ツ?ィテ、ツコツ、テ・ツキツョテ」ツ?療」ツ?ヲテ」ツ??」ツつ凝」ツ?凝」ツ?ゥテ」ツ??」ツ?凝」ツつ津ィツソツ氾」ツ??
    bool is_intersection(const Segment& s){
        return ( ccw(a, b, s.a)   * ccw(a, b, s.b) <= 0 && 
                 ccw(s.a, s.b, a) * ccw(s.a, s.b, b) <= 0 );
    }
	// テァツキツ堙・ツ按?」ツ?ョテ、ツコツ、テ・ツキツョテ・ツ按、テ・ツョツ堙」ツ?ィテ、ツコツ、テァツつケティツィツ暗ァツョツ?
	bool intersection(Segment s, P& p) {
		bool result = is_intersection( s );
		if( result ) {
			double d1 = abs( cross(s.b-s.a, a-s.a) );
			double d2 = abs( cross(s.b-s.a, b-s.a) );
			
			if( abs(d1) < EPS && abs(d2) < EPS ) { // 2テ」ツ?、テ」ツ?ョテァツキツ堙・ツ按?」ツ?古・ツ青古」ツ?佚ァツ崢エテァツキツ堙、ツクツ甘」ツ?ォテ」ツ?づ」ツつ凝」ツ?ィテ」ツ??
				if( this->contain(s.a) ) {
					p = s.a;
				}else if( this->contain(s.b) ) {
					p = s.b;
				}else if( s.contain( a ) ) {
					p = a;
				}else if( s.contain( b ) ) {
					p = b;
				}else {
					p = INF_P;
				}
			}else if( abs(d1) < EPS ) {
				p = INF_P;
			}else {
				double t = d1 / (d1 + d2);
				p = a + (b-a) * t;
			}
		}else{
			p = INF_P;
		}
		return result;
	}
	// テァツキツ堙・ツ按?」ツ?ィテァツキツ堙・ツ按?」ツ?ョティツキツ敕ゥツ崢「
    double distance(Segment s) {
        if( is_intersection(s) ) return 0.0;
        return min( min(distance(s.a), distance(s.b)), min(s.distance(a), s.distance(b)) );
    }
	// テ」ツδ?」ツδ静」ツδε」ツつーテ・ツ?コテ・ツ環?
	void print() { printf("line(%f,%f,%f,%f); \n", a.X, a.Y, b.X, b.Y ); }
};
// Segment テ」ツ?ョテゥツ??・ツコツ湘」ツつ津・ツョツ堙ァツセツゥ (xテ・ツコツァテヲツィツ凖」ツ?ョテ・ツーツ湘」ツ?陛」ツ??ァツォツッテァツつケテ」ツ?ァテヲツッツ氾ィツシツ?
bool operator < (const Segment& s1, const Segment& s2) { return s1.a < s2.a; }

// テァツ崢エテァツキツ堙」ツ?ョティツ。ツィテァツ渉セ ((*this)[0]) テ」ツ?ィ ((*this)[1]) テ」ツつ津ゥツ?堙」ツつ凝ァツ崢エテァツキツ?
struct Line : public vector<P> {
	Line(const P &a, const P &b) {
		push_back(a); push_back(b);
	}
	Line(vector<P> v){
		push_back(v[0]); push_back(v[1]);
	}
	Line(){}
	// 2テァツ崢エテァツキツ堙」ツ?ョテァツ崢エテ、ツコツ、テ・ツ按、テ・ツョツ?
	bool orthogonal(const Line& l) {
		return equal( dot( (*this)[0] - (*this)[1] , l[0] - l[1] ) , 0.0 );
	}
	// 2テァツ崢エテァツキツ堙」ツ?ョテ・ツケツウティツ。ツ古・ツ按、テ・ツョツ?
	bool parallel(const Line& l) {
		return equal( cross( (*this)[0] - (*this)[1] , l[0] - l[1] ), 0.0 );
	}
	// テァツつケ p テ」ツ?古ァツ崢エテァツキツ堙、ツクツ甘」ツ?ォテ、ツケツ療」ツ?」テ」ツ?ヲテ」ツ??」ツつ凝」ツ??
	bool contain(P p) {
		return equal( cross( (*this)[1] - (*this)[0] , p - (*this)[0] ) , 0.0 );
	}
	// テァツ崢エテァツキツ堙」ツ?ィテァツつケ p テ」ツ?ョティツキツ敕ゥツ崢「
	double distance(P a) {
		P p1 = (*this)[0];
		P p2 = (*this)[1];
		return abs( cross( p2 - p1 , a - p1) ) / abs(p2 - p1);
	}
	// テァツ崢エテァツキツ堙」ツ?ョテ、ツコツ、テ・ツキツョテ・ツ按、テ・ツョツ?
	bool is_intersection(const Line& l) {
		return !equal( cross( (*this)[0] - (*this)[1], l[0] - l[1] ) , 0.0 );
	}
	// テァツ崢エテァツキツ堙」ツ?ョテ、ツコツ、テ・ツキツョテ・ツ按、テ・ツョツ堙」ツ?ィテ、ツコツ、テァツつケティツィツ暗ァツョツ?
	bool intersection(Line l, P& p) {
		bool result = this->is_intersection( l );
		if( result ) {
			P a = (*this)[1] - (*this)[0];
			P b = l[1] - l[0];
			p = (*this)[0] + a * cross(b, l[0] - (*this)[0]) / cross(b, a);
		}else {
			p = INF_P;
		}
		return result;
	}
	// テァツつケ (*this)[0] テ」ツ?凝」ツつ?テァツつケ (*this)[1] テ」ツ?クテ」ツ?ョティツァツ津・ツコツヲテ」ツつ津ィツソツ氾」ツ??[0,2テ渉?
	double get_dir() {
		P p = (*this)[0] - (*this)[1];
		double angle = atan2( p.Y , p.X );
		if( p.X < 0 ) angle += PI;
		if( angle < 0 ) angle += 2.0 * PI;
		return angle;
	}
};

// テ・ツ??」ツ?ョティツ。ツィテァツ渉セ
struct Circle{
	// テ・ツ??」ツ?ョテ、ツクツュテ・ツソツ?
	P p;
	// テ・ツ??」ツ?ョテ・ツ債甘・ツセツ?
	double r;
	// テ」ツつウテ」ツδウテ」ツつケテ」ツδ暗」ツδゥテ」ツつッテ」ツつソテ」ツ?ァテ・ツ按敕ヲツ慊淌・ツ個?
	Circle(P p_, double r_) { p = p_; r = r_; }
	// テ・ツ??」ツ?ョテゥツ敖「テァツゥツ?
	double get_area() { return r * r * PI; }
	// テ・ツ??・ツ堕ィ
	double circumference() { return 2.0 * r * PI; }
	// テァツつケ a テ」ツ?古・ツ??」ツ?ョテ・ツ??ゥツδィテ」ツ?ォテ」ツ?づ」ツつ凝」ツ?凝」ツ?ゥテ」ツ??」ツ??
	bool is_inside(P a) { return ( dist(a,p) <= r ); }
	// テァツつケ a テ」ツ?古・ツ??・ツ堕ィテ、ツクツ甘」ツ?ォテ」ツ?づ」ツつ凝」ツ?凝」ツ?ゥテ」ツ??」ツ??
	bool on_boundary(P a) { return equal( dist(a,p) , r ); }
	// テァツ崢エテァツキツ堙」ツ?ィテ・ツ??」ツ?ョティツキツ敕ゥツ崢「 (テ・ツ??」ツ?ョテ、ツクツュテ・ツソツε」ツ?ョテァツつケテ」ツ?ィテァツ崢エテァツキツ堙」ツ?ョティツキツ敕ゥツ崢「 - テ・ツ??」ツ?ョテ・ツ債甘・ツセツ?
	double distance(Line l){
		return l.distance( p ) - r;
	}
	// テァツつケ a テ」ツつ津ゥツ?堙」ツつ凝ヲツ篠・テァツキツ堙」ツつ津ィツソツ氾」ツ??
	pair<Line,Line> tangent(P a) {
		pair<Line,Line> pl;
		if( this->on_boundary( a ) ) { // テァツつケ a テ」ツ?古・ツ??・ツ堕ィテ、ツクツ甘」ツ?ォテ」ツ?づ」ツつ凝」ツ?ィテ」ツ??
			Line l( normal(a - p) ); // テヲツウツ陛ァツキツ堙」ツδ凖」ツつッテ」ツδ暗」ツδォ
			l[0] += a;
			l[1] += a;
			pl.first = pl.second = l ;
			return pl;
		}else if( !this->is_inside(a) ) { // テァツつケ a テ」ツ?古・ツ??」ツ?ョテ・ツ、ツ姪・ツ?エテ」ツ?ォテ」ツ?づ」ツつ凝」ツ?ィテ」ツ??
			double xp = a.X - p.X;
			double yp = a.Y - p.Y;
			double A = sqrt( sq(xp) + sq(yp) - sq(r) );
			double B = sq(xp) + sq(yp);
			P p1( r * (xp * r + yp * A) / B , r * (yp * r - xp * A) / B );
			P p2( r * (xp * r - yp * A) / B , r * (yp * r + xp * A) / B );
			pl.first = Line( a , p1+p );
			pl.second = Line( a , p2+p );
		}else{ // テァツつケ a テ」ツ?古・ツ??」ツ?ョテ・ツ??・ツ?エテ」ツ?ォテ」ツ?づ」ツつ凝」ツ?ィテ」ツ??
			pl.first = pl.second = Line(INF_P,INF_P);
		}
		return pl;
	}
	// テァツュツ嘉」ツ?療」ツ??」ツ?凝」ツ?ゥテ」ツ??」ツ??
	bool operator==(const Circle& c) { return (p == c.p && r == c.r) ; };
	// 2テ」ツ?、テ」ツ?ョテ・ツ??」ツ?ョテ、ツスツ催ァツスツョテゥツ鳴「テ、ツソツ?
	// 2 テ」ツ?、テ」ツ?ョテ・ツ??」ツ?古ゥツ崢「テ」ツつ古」ツ?ヲテ」ツ??」ツつ?=> 0
	// 2 テ」ツ?、テ」ツ?ョテ・ツ??」ツ?古・ツ、ツ姪ヲツ篠・テ」ツ?凖」ツつ?  => 1
	// 2 テ」ツ?、テ」ツ?ョテ・ツ??」ツ?古、ツコツ、テ」ツつ湘」ツつ?    => 2
	// 2 テ」ツ?、テ」ツ?ョテ・ツ??」ツ?古・ツ??ヲツ篠・テ」ツ?凖」ツつ?   => 3 (2テ」ツ?、テ」ツ?ョテ・ツ??」ツ?古ァツュツ嘉」ツ?療」ツ??」ツ?ィテ」ツ?催」ツ?ッテ・ツ??ヲツ篠・)
	// テ・ツ??」ツ?古・ツ青ォテ」ツ?セテ」ツつ古」ツ?ヲテ」ツ??」ツつ?      => 4
	int is_pos(const Circle& c) {
		double d = abs(p - c.p);
		if( r + c.r + EPS < d ) { // テゥツ崢「テ」ツつ古」ツ?ヲテ」ツ??」ツつ?
			return 0;
		}else if( equal( r + c.r , d ) ) { // テ・ツ、ツ姪ヲツ篠・テ」ツ?凖」ツつ?
			return 1;
		}else if( equal( fabs(r-c.r) , d ) ) { // テ・ツ??ヲツ篠・テ」ツ?凖」ツつ?
			return 3;
		}else if( d < fabs(r-c.r) ) { // テ・ツ青ォテ」ツ?セテ」ツつ古」ツつ?
			return 4;
		}else { // テ、ツコツ、テ」ツつ湘」ツつ?
			return 2;
		}
	}
	// テ・ツ??」ツ?ィテァツ崢エテァツキツ堙」ツ?ョテ、ツコツ、テ」ツつ湘」ツつ凝ァツつケテ」ツつ津ィツソツ氾」ツ??
	pair<P,P> intersection(Line l) {
		pair<P,P> pp;
		if( this->distance(l) > EPS ) { // テ・ツ??」ツ?ィテァツ崢エテァツキツ堙」ツ?ョテ、ツコツ、テァツつケテ」ツ?古」ツ?ェテ」ツ??」ツ?ィテ」ツ??
			pp.first = pp.second = INF_P;
		}else { // テ・ツ??」ツ?ィテァツ崢エテァツキツ堙」ツ?ョテ、ツコツ、テァツつケテ」ツ?古」ツ?づ」ツつ凝」ツ?ィテ」ツ??
			double d = l.distance( p );
			double angle = -l.get_dir();
			// テァツつケ l[0] テ」ツつ津ィツサツクテ」ツ?ォテァツつケ l[1] テ」ツ?ィテ・ツ??」ツ?ョテ、ツクツュテ・ツソツε」ツつ津・ツ崢榲ィツサツ「
			P lp = rot2( l[0] , l[1] , angle );
			P cp = rot2( l[0] , p    , angle );
			double x1 = cp.X - sqrt( sq(r) - sq(d) );
			double x2 = cp.X + sqrt( sq(r) - sq(d) );
			P p1(x1,l[0].Y);
			P p2(x2,l[0].Y);
			// テ・ツ崢榲ィツサツ「テ」ツ?療」ツ?ヲテ・ツ?ε」ツ?ォテヲツ按サテ」ツ??
			p1 = rot2( l[0] , p1 , -angle );
			p2 = rot2( l[0] , p2 , -angle );
			pp.first = p1;
			pp.second = p2;
		}
		return pp;
	}
	// テ」ツδ?」ツδ静」ツδε」ツつーテ・ツ?コテ・ツ環?
	void print() { printf("circle(%f,%f,%f); \n", p.X, p.Y, r ); }
};

int main(){
	int n, m;
	while( cin >> n , n ){
		vector<Circle> v;
		for(int i=0 ; i < n ; i++ ){
			int x, y, r;
			cin >> x >> y >> r;
			v.push_back( Circle( P(x,y) , r ) );
		}
		cin >> m;
		for(int i=0 ; i < m ; i++ ){
			int tx, ty, sx, sy;
			cin >> tx >> ty >> sx >> sy;
			P T(tx,ty), S(sx,sy);
			Segment seg( T , S );
			Line l( T , S );
			
			// テァツつケS(テゥツャツシ) テ」ツ?ィ テァツつケT(テ・ツ、ツェテゥツδ? テ」ツつ津ァツオツ静」ツ?カテァツキツ堙・ツ按?」ツ?ィテ、ツコツ、テ・ツキツョテ」ツ?凖」ツつ凝・ツ??」ツ?古」ツ?づ」ツつ凝」ツ?凝」ツ?ゥテ」ツ??」ツ?凝ィツェツソテ」ツ?ケテ」ツつ?
			bool flag = false;
			for(int j=0 ; j < v.size() ; j++ ){
				pair<P,P> pp = v[j].intersection(l);
				if( pp.first == INF_P ) continue;
				if( seg.contain( pp.first ) || seg.contain( pp.second ) ){
					flag = true;
					break;
				}
			}
			cout << (flag? "Safe" : "Danger" ) << endl;
		}
	}
}