Теорія графів#3074

Теорія графів

1 секунда
256 мегабайтів
Дуже легка

Серж вивчає теорію графів. Нещодавно він дізнався про радіус і діаметр графа. Розглянемо неорієнтований, невагомий, зв'язний граф . Позначимо довжину найкоротшого шляху між вершинами та як . Радіус графа визначається як

r(G) = \min_{v \in V} \max_{u \in V} \rho(v, u)

Діаметр графа визначається як

d(G) = \max_{v, u \in V} \rho(v, u)

Інтуїтивно, діаметр графа — це найбільша відстань, яку потрібно пройти, щоб дістатися від однієї вершини до іншої, а радіус — це найбільша відстань, яку вас можуть змусити подолати, вибравши певну центральну вершину.

Під час лекції професор довів, що \frac{d(G)}{2} \leq r(G) \leq d(G) для будь-якого графа . Тепер Серж цікавиться, чи існують такі значення та , що \frac{d}{2} \leq r \leq d, для яких існує граф , для якого d(G) = d та r(G) = r. Допоможіть йому з'ясувати це.

Вхідні дані

Вхід містить два цілих числа та (\frac{d}{2} \leq r \leq d \leq 50, 1 \leq r).

Вихідні дані

Якщо існує граф із заданими радіусом і діаметром, виведіть YES у першому рядку. У другому рядку виведіть два цілих числа: (2 \leq n \leq 400) і — кількість вершин і ребер. Далі у наступних рядках вкажіть по два цілих числа — вершини, які з'єднуються відповідним ребром. Граф не повинен містити петель чи кратних ребер.

Якщо такого графа не існує, виведіть у першому рядку NO.

Приклади

Приклад

Вхідні дані
4 2
Вихідні дані
YES
5 4
1 2
2 3
3 4
3 5

Приклад

Вхідні дані
3 1
Вихідні дані
NO

Приклад 1

Loading
Loading