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

Задача . A. Вычитание простого


Вам заданы два целых числа \(x\) и \(y\) (гарантируется, что \(x > y\)). Вы можете выбрать любое простое целое число \(p\) и вычесть его любое количество раз из \(x\). Можно ли сделать \(x\) равным \(y\)?

Напомним, что простым называется целое положительное число, которое имеет ровно два положительных делителя: \(1\) и само это целое число. Последовательность простых чисел начинается с \(2\), \(3\), \(5\), \(7\), \(11\).

Ваша программа должна ответить на \(t\) независимых тестов.

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

Первая строка содержит целое число \(t\) (\(1 \le t \le 1000\)) — количество тестов.

Следующие \(t\) строк описывают тесты. Каждая строка содержит два целых числа \(x\) и \(y\) (\(1 \le y < x \le 10^{18}\)).

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

На каждый тест выведите YES, если возможно выбрать простое число \(p\) и вычесть его некоторое количество раз из \(x\), чтобы \(x\) стало равным \(y\). Иначе выведите NO.

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

Примечание

В первом примере вы можете выбрать \(p = 2\) и вычесть его один раз.

Во втором примере вы можете выбрать \(p = 5\) и вычесть два раза. Обратите внимание, что вы не можете выбрать \(p = 7\), вычесть его, после этого выбрать \(p = 3\) и вычесть его снова, потому что разрешена только одна такая операция.

В третьем примере вы можете выбрать \(p = 3\) и вычесть его \(333333333333333333\) раз.


Примеры
Входные данныеВыходные данные
1 4
100 98
42 32
1000000000000000000 1
41 40
YES
YES
YES
NO

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

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