Вані сниться сон, що він стоїть на клітчастому полі розміру n \times m, і йому хочеться побувати у всіх клітинках цього поля рівно по одному разу.
Ваня може спочатку стати в центр будь-якої клітинки і потім може перестрибувати з клітинки, де він знаходиться, на іншу клітинку. Після стрибка Ваня опиняється в центрі відповідної клітинки.
Ваня може дострибнути від будь-якої клітинки до будь-якої іншої, але не все так просто. Кожного разу після стрибка він повинен повертатися строго ліворуч. А саме, для будь-яких трьох клітинок, які Ваня відвідав підряд, повинна виконуватися наступна умова: якщо дивитися з центру першої клітинки в напрямку центру другої клітинки, то центр третьої клітинки повинен лежати в лівій півплощині, не включаючи саму пряму між центрами першої і другої клітинки. Зокрема, центри трьох підряд ідучих клітинок не повинні лежати на одній прямій.
Стовпці поля пронумеровані зліва направо від до , а рядки — знизу вгору від до .Допоможіть Вані, знайдіть спосіб відвідати всі клітинки, або визначте, що це неможливо.
В єдиному рядку знаходяться два цілих числа і — кількість стовпців і рядків (1 \leq n,m \leq 100).
У першому рядку виведіть «Yes», якщо відвідати всі клітинки описаним способом можливо, інакше виведіть «No».
Якщо рішення існує, виведіть ще n \times m рядків, в -му з яких виведіть два цілих числа x_i і y_i — номер стовпця і номер рядка, на перетині яких знаходиться клітинка, в яку Ваня повинен стрибнути -й за рахунком (1 \leq x_i \leq n, 1 \leq y_i \leq m).

Приклад 1
Приклад 2
Пояснення для першого тесту:

Пояснення для другого тесту