eolymp
bolt
Try our new interface for solving problems
Problems

Euclid algorithm

Euclid algorithm

Дима недавно начал изучать информатику. Одним из первых алгоритмов, который он изучил, был алгоритм Евклида для нахождения наибольшего общего делителя (НОД) двух чисел. Напомним, что наибольшим общим делителем двух чисел \textbf{a} и \textbf{b} называется наибольшее натуральное число \textbf{x}, такое, что и число \textbf{a}, и число \textbf{b} делится на него без остатка. Euclid's algorithm is as follows: \begin{enumerate} \item Пусть \textbf{a}, \textbf{b} --- числа, НОД которых надо найти. \item Если \textbf{b} = \textbf{0}, то число \textbf{a} --- искомый НОД. \item Если \textbf{b} > \textbf{a}, то необходимо поменять местами числа \textbf{a} и \textbf{b}. \item Присвоить числу \textbf{a} значение \textbf{a}\textit{ -- }\textbf{b}\textit{.} \item Вернуться к шагу \textbf{2}. \end{enumerate} Дима достаточно быстро освоил алгоритм Евклида и вычислил с его помощью много наибольших общих делителей. Вскоре ему пришла идея решить новую задачу. Пусть заданы числа \textbf{a}, \textbf{b}, \textbf{c} и \textbf{d}. Требуется узнать, наступит ли в процессе реализации алгоритма Евклида для заданной пары чисел (\textbf{a}, \textbf{b}) такой момент, когда перед исполнением шага \textbf{2} число \textbf{a} будет равно \textbf{c}, а число \textbf{b} будет равно \textbf{d}. Требуется написать программу, которая решает эту задачу. \InputFile Первая строка содержит количество наборов входных данных \textbf{k} (\textbf{1} ≤ \textbf{k}\textit{ }≤ \textbf{100}). Далее идут описания этих наборов. Каждое описание состоит из двух строк. Первая из них содержит два целых числа: \textbf{a}, \textbf{b} (\textbf{1} ≤ \textbf{a}, \textbf{b} ≤ \textbf{10^18}). Вторая строка -- два целых числа: \textbf{c}, \textbf{d} (\textbf{1} ≤ \textbf{c}, \textbf{d} ≤ \textbf{10^18}). Все числа в строках разделены пробелом. \OutputFile Для каждого набора входных данных выведите в отдельной строке слово <<\textbf{YES}>>, если в процессе применения алгоритма Евклида к паре чисел (\textbf{a}, \textbf{b}) в какой-то момент получается пара (\textbf{c}, \textbf{d}), или слово <<\textbf{NO}>> -- в противном случае.
Time limit 1 second
Memory limit 122.17 MiB
Input example #1
2
20 10
10 10
10 7
2 4
Output example #1
YES
NO