問題文

無限に広い xyxy 平面上の原点にロボットがあります。 あなたは、好きな非負整数 N,KN,K を選び、それを入力して一度だけロボットを起動します。 ロボットが後述のプログラムに従って動くとき、ちょうど点 (X,Y)(X,Y) でロボットが停止するようにできますか。

■ロボットのプログラム

  1. 初め xx 軸の正の向きを向いており、この向きに NN 進む。
  2. その後反時計回りに 9090 度向きを変え、先ほど進んだ距離より KK 短い距離だけ進む。
  3. 2を繰り返し、進むべき距離が 00 以下になったら停止する。
  4. この際、進むべき距離が負になっても逆向きに動いたりはせず、向きを変えた直後にその点で停止する。

ここでは、 TT 回の問いに答えてください。 ただし、ロボットは 11 回ごとに原点に戻して起動します。

【参考図】 図

制約

  • 1T1041 \leq T \leq 10^4
  • 0Xi,Yi10120 \leq X_i,Y_i \leq 10^{12}
  • 入力はすべて整数である

入力

T
X_1 Y_1
X_2 Y_2
...
X_T Y_T

出力

TT 行出力し、 ii 行目には、 ii 番目に与えられた座標でロボットを停止させることが可能であれば Yes を、 不可能であれば No を出力してください。

サンプル

入力1
4
2 2
100 0
20 25
20210628 20201210
出力1
Yes
Yes
No
Yes

11 番目の問いに対して、例えば N=3,K=1N=3,K=1 と設定します。 この時、ロボットは xx 軸正の向きに 33yy 軸正の向きに 22xx 軸負の向きに 11 と順に進んだのち、 次に進むべき距離が 00 以下となりますので停止します。座標の推移は (0,0)(0,0)(3,0)(3,0)(3,2)(3,2)(2,2)(2,2) です。 これは、問題文末尾の参考図に記載されたものと同じ動きです。 なお、例えば N=4,K=1N=4,K=1 といった設定でもロボットをこの座標で停止させることが可能です。

22 番目の問いに対しては、 N=100,K=200N=100,K=200 などの設定で条件を満たすことが出来ます。この際、ロボットは xx 軸正の向きに 100100 進んだ後、 次に進むべき距離を計算すると負になりますが、本来と逆向きに動くなどの動作をすることなく直ちに停止することに注意してください。

提出


Go (1.21)