Алгоритм Евкліда#413

Алгоритм Евкліда

1 секунда
122,174 мегабайта
Середня

Дмитрик недавно почав вивчати інформатику. Одним з перших алгоритмів, який він вивчив, був алгоритм Евкліда для знаходження найбільшого спільного дільника (НСД) двох чисел. Нагадаємо, що найбільшим спільним дільником двох чисел та називається найбільше натуральне число , таке, що і число , і число діляться на нього без остачі.

Алгоритм Евкліда полягає у наступному:

  1. Нехай і — числа, НСД яких потрібно знайти.

  2. Якщо b = 0, то — шуканий НСД.

  3. Якщо b > a, поміняти місцями і .

  4. Присвоїти числу значення a - b.

  5. Повернутися до кроку 2.

Дмитрик швидко освоїв алгоритм Евкліда і за його допомогою знайшов багато найбільших спільних дільників. Незабаром йому спало на думку розв'язати нову задачу. Нехай задано числа , , і . Потрібно дізнатися, чи настане у процесі реалізації алгоритму Евкліда для заданої пари чисел такий момент, коли перед виконанням кроку 2 буде виконуватись a = c і b = d.

Напишіть програму для розв'язання цієї задачі.

Вхідні дані

Перший рядок містить кількість наборів вхідних даних (1 \leq k \leq 100). Далі йде опис цих наборів. Кожен опис складається з двох рядків. Перший з них містить два цілих числа: , (1 \leq a, b \leq 10^{18}). Другий рядок містить два цілих числа: , (1 \leq c, d \leq 10^{18}). Усі числа у рядках відокремлені пробілом.

Вихідні дані

Для кожного набору вхідних даних виведіть в окремому рядку слово YES, якщо у процесі застосування алгоритму Евкліда до пари чисел у якийсь момент отримається пара , або слово NO — у протилежному випадку.

Приклади

Приклад 1

Loading
Loading