Dmitrik informatika öyrənməyə yeni başlayıb. Onun öyrəndiyi ilk alqoritmlərdən biri, iki ədədin ən böyük ortaq bölənini (ƏBOB) tapmaq üçün Evklid alqoritmi idi. Xatırladaq ki, iki ədəd və üçün ƏBOB, həm , həm də ədədlərini qalıqsız bölən ən böyük təbii ədəd -dir.
Evklid alqoritmi belə işləyir:
və — ƏBOB tapılmalı olan ədədlərdir.
Əgər b = 0 olarsa, ƏBOB-dur.
Əgər b > a olarsa, və ədədlərinin yerlərini dəyişmək lazımdır.
ədədinə a - b qiymətini mənimsətmək.
2-ci addıma qayıtmaq.
Dmitrik Evklid alqoritmini tez bir zamanda mənimsədi və onun köməyi ilə çoxlu ƏBOB-lər hesabladı. Tezliklə ona yeni bir məsələ həll etmək fikri gəldi. , , və ədədləri verilib. Verilmiş ədədlər cütü üçün Evklid alqoritminin icrası prosesində elə bir anın olub-olmadığını öyrənmək lazımdır ki, 2-ci addımın icrasından əvvəl a = c və b = d olsun.
Bu məsələni həll edən proqram yazın.
Birinci sətir, giriş məlumat dəstlərinin sayı olan (1 \leq k \leq 100) ədədini ehtiva edir. Sonra bu dəstlərin təsviri gəlir. Hər təsvir iki sətirdən ibarətdir. Birinci sətir iki tam ədəd ehtiva edir: , (1 \leq a, b \leq 10^{18}). İkinci sətir isə iki tam ədəd ehtiva edir: , (1 \leq c, d \leq 10^{18}). Sətirdəki bütün ədədlər boşluqla ayrılmışdır.
Hər bir giriş məlumat dəsti üçün ayrıca sətirdə **YES** sözünü çıxarın, əgər Evklid alqoritminin ədədlər cütü üçün tətbiqi prosesində hər hansı bir anda cütu alınarsa, və ya **NO** sözünü çıxarın – əks halda.
Nümunə 1