There are one or more circles on a plane. Any two circles have different center positions and/or different radiuses. A circle may intersect with another circle, but no three or more circles have areas nor points shared by all of them. A circle may completely contain another circle or two circles may intersect at two separate points, but you can assume that the circumferences of two circles never touch at a single point.

Your task is to judge
whether there exists a path that connects the given two points, *P* and *Q*,
without crossing the circumferences of the circles.
You are given one or more point pairs for each layout of circles.

In the case of Figure G-1,
we can connect *P* and *Q*_{1} without crossing the circumferences of the circles, but we cannot connect *P* with *Q*_{2}, *Q*_{3}, or *Q*_{4} without crossing the circumferences of the circles.

Figure G-1: Sample layout of circles and points

The input consists of multiple datasets, each in the following format.

nm

Cx_{1}Cy_{1}r_{1}

...

Cx_{n}Cy_{n}r_{n}

Px_{1}Py_{1}Qx_{1}Qy_{1}

...

Px_{m}Py_{m}Qx_{m}Qy_{m}

The first line of a dataset contains two integers *n* and *m*
separated by a space.
*n* represents the number of circles, and
you can assume 1 ≤ *n* ≤ 100.
*m* represents the number of point pairs, and
you can assume 1 ≤ *m* ≤ 10.
Each of the following *n* lines contains three integers separated by a single space.
(*Cx*_{i}, *Cy*_{i}) and *r*_{i} represent the center position and the radius of the *i*-th circle, respectively.
Each of the following *m* lines contains four integers separated by a single space.
These four integers represent coordinates of two separate points
*P*_{j} = (*Px*_{j}, *Py*_{j}) and
*Q*_{j} =(*Qx*_{j}, *Qy*_{j}).
These two points *P*_{j} and *Q*_{j}
form the *j*-th point pair.
You can assume
0 ≤ *Cx*_{i} ≤ 10000,
0 ≤ *Cy*_{i} ≤ 10000,
1 ≤ *r*_{i} ≤ 1000,
0 ≤ *Px*_{j} ≤ 10000,
0 ≤ *Py*_{j} ≤ 10000,
0 ≤ *Qx*_{j} ≤ 10000,
0 ≤ *Qy*_{j} ≤ 10000.
In addition,
you can assume
*P*_{j} or *Q*_{j}
are not located on the circumference of any circle.

The end of the input is indicated by a line containing two zeros separated by a space.

Figure G-1 shows the layout of the circles and the points in the first dataset of the sample input below. Figure G-2 shows the layouts of the subsequent datasets in the sample input.

Figure G-2: Sample layout of circles and points

For each dataset,
output a single line containing the *m* results separated by a space.
The *j*-th result should be "YES" if there exists a path connecting *P*_{j} and *Q*_{j}, and "NO" otherwise.

5 3 0 0 1000 1399 1331 931 0 1331 500 1398 0 400 2000 360 340 450 950 1600 380 450 950 1399 1331 450 950 450 2000 1 2 50 50 50 0 10 100 90 0 10 50 50 2 2 50 50 50 100 50 50 40 50 110 50 40 50 0 0 4 1 25 100 26 75 100 26 50 40 40 50 160 40 50 81 50 119 6 1 100 50 40 0 50 40 50 0 48 50 50 3 55 55 4 55 105 48 50 55 55 50 20 6 270 180 50 360 170 50 0 0 50 10 0 10 0 90 50 0 180 50 90 180 50 180 180 50 205 90 50 180 0 50 65 0 20 75 30 16 90 78 36 105 30 16 115 0 20 128 48 15 128 100 15 280 0 30 330 0 30 305 65 42 0 20 10 20 0 20 10 0 50 30 133 0 50 30 133 30 90 40 305 20 90 40 240 30 16 2 0 0 50 0 90 50 0 180 50 90 180 50 180 180 50 205 90 50 180 0 50 65 0 20 115 0 20 90 0 15 280 0 30 330 0 30 305 65 42 75 40 16 90 88 36 105 40 16 128 35 250 30 90 50 305 20 0 0

YES NO NO YES NO NO NO NO YES YES NO NO YES NO NO NO NO

Source: ACM International Collegiate Programming Contest
, Japan Domestic Contest, Tokyo, Japan, 2014-07-11

http://icpc.iisf.or.jp/2014-waseda/

http://icpc.iisf.or.jp/2014-waseda/