Олимпиадный тренинг

Задача . B. Сделай АП


У Поликарпа есть \(3\) положительных целых числа \(a\), \(b\) и \(c\). Он может выполнить следующую операцию ровно один раз.

  • Выбрать положительное целое число \(m\) и домножить ровно одно из чисел \(a\), \(b\) или \(c\) на число \(m\).

Может ли Поликарп сделать так, что после выполнения операции последовательность трёх чисел \(a\), \(b\), \(c\) (именно в этом порядке) образует арифметическую прогрессию? Обратите внимание, что вы не можете менять порядок следования \(a\), \(b\) и \(c\).

Формально, последовательность \(x_1, x_2, \dots, x_n\) называется арифметической прогрессией (АП), если существует такое число \(d\) (называемое «разностью прогрессии»), что \(x_{i+1}=x_i+d\) для всех \(i\) от \(1\) до \(n-1\). В этой задаче \(n=3\).

Например, следующие последовательности являются АП: \([5, 10, 15]\), \([3, 2, 1]\), \([1, 1, 1]\) и \([13, 10, 7]\). Cледующие последовательности не являются АП: \([1, 2, 4]\), \([0, 1, 0]\) и \([1, 3, 2]\).

Вам необходимо ответить на \(t\) независимых наборов входных данных.

Входные данные

В первой строке дано число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

В следующих \(t\) строках дано по \(3\) целых числа \(a\), \(b\), \(c\) (\(1 \le a, b, c \le 10^8\)).

Выходные данные

Для каждого набора входных данных выведите «YES» (без кавычек), если Поликарп может выбрать положительное целое число \(m\) и домножить ровно одно из чисел \(a\), \(b\) или \(c\) на число \(m\), чтобы сделать \([a, b, c]\) арифметической прогрессией. Выведите «NO» (без кавычек) в противном случае.

Вы можете выводить YES и NO в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).

Примечание

В первом и втором наборе входных данных можно выбрать число \(m=4\) и домножить второе число (\(b=5\)) на \(4\).

В первом наборе входных данных получится последовательность \([10, 20, 30]\). Это АП с разностью \(d=10\).

Во втором наборе входных данных получится последовательность \([30, 20, 10]\). Это АП с разностью \(d=-10\).

В третьем тестовом примере можно выбрать \(m=1\) и домножить любое из чисел на \(1\). Получится последовательность \([1, 2, 3]\). Это АП с разностью \(d=1\).

В четвёртом тестовом примере можно выбрать \(m=9\) и домножить первое число (\(a=1\)) на \(9\). Получится последовательность \([9, 6, 3]\). Это АП с разностью \(d=-3\).

В пятом тестовом примере сделать АП не получится никак.


Примеры
Входные данныеВыходные данные
1 11
10 5 30
30 5 10
1 2 3
1 6 3
2 6 3
1 1 1
1 1 2
1 1 3
1 100000000 1
2 1 1
1 2 2
YES
YES
YES
YES
NO
YES
NO
YES
YES
NO
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя