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

Задача . B. Взаимно простые пары


Задан набор из всех целых чисел от \(l\) до \(r\) включительно, \(l < r\), \((r - l + 1) \le 3 \cdot 10^5\) и \((r - l)\) всегда нечетно.

Вы хотите разделить эти числа на ровно \(\frac{r - l + 1}{2}\) пар таким образом, чтобы в каждой паре \((i, j)\) наибольший общий делитель \(i\) и \(j\) равен \(1\). Каждое число должно встретиться ровно в одной паре.

Выведите полученные пары или сообщите, что решения не существует. Если существует несколько корректных решений, то выведите любое из них.

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

В единственной строке записаны два целых числа \(l\) и \(r\) (\(1 \le l < r \le 10^{18}\), \(r - l + 1 \le 3 \cdot 10^5\), \((r - l)\) нечетно).

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

Если существует некоторое решение, то выведите "YES" в первой строке. В каждой из следующих \(\frac{r - l + 1}{2}\) строк выведите некоторую пару чисел. НОД чисел в каждой паре должен быть равен \(1\). Все \((r - l + 1)\) чисел должны быть попарно различны, а также должны иметь значения от \(l\) до \(r\) включительно.

Если существует несколько корректных решений, то выведите любое из них.

Если решений не существует, то выведите "NO".


Примеры
Входные данныеВыходные данные
1 1 8
YES
2 7
4 1
3 8
6 5

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

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