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