Statement is not available in English language
C. Расстановка бойцов
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На арене вам нужно расставить $$$n$$$ бойцов так, чтобы каждый контролировал определенный участок карты. Карту в этой задаче можно представить как координатную прямую. Боец номер $$$i$$$ контролирует отрезок $$$[l_i, r_i]$$$ на координатной прямой, где $$$l_i$$$ и $$$r_i$$$ — целые числа в диапазоне от $$$-10^9$$$ до $$$10^9$$$.

Вам также дано число $$$k$$$ — максимальная плотность скопления бойцов. После расстановки всех $$$n$$$ бойцов для каждой целочисленной точки $$$x$$$ на карте подсчитывается, сколько бойцов контролируют эту точку. Вы хотите достичь идеального баланса:

  • Должна быть ровно одна точка, которую контролирует ровно один боец
  • Должна быть ровно одна точка, которую контролируют ровно два бойца
  • ...
  • Должна быть ровно одна точка, которую контролируют ровно $$$k$$$ бойцов
  • Не должно быть ни одной точки, которую контролируют более $$$k$$$ бойцов

Сможете ли вы найти такую расстановку бойцов на карте?

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

В единственной строке содержатся два целых числа $$$n$$$ и $$$k$$$ — количество бойцов и максимальная плотность скопления ($$$1 \leq n, k \leq 10^5$$$).

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

В первой строке выведите «YES», если возможна требуемая расстановка бойцов, и «NO» в противном случае.

Если решение существует, в следующих $$$n$$$ строках выведите по два целых числа $$$l_i$$$, $$$r_i$$$ — координаты участков, которые контролируют бойцы ($$$-10^9 \leq l_i \leq r_i \leq 10^9$$$).

Примеры
Входные данные
1 1
Выходные данные
YES
1 1
Входные данные
2 1
Выходные данные
NO
Входные данные
1 2
Выходные данные
NO
Входные данные
4 3
Выходные данные
YES
10 10
3 4
3 4
3 3