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

Задача . B. Boboniu играет в шахматы


Задача

Темы: Конструктив *1100

Boboniu любит играть в шахматы со своими подчиненными. Как мы знаем, никакой подчиненный не может победить босса в шахматах, поэтому Boboniu никогда не проигрывает.

Вы проходите собеседование в его компанию. Boboniu решил озадачить вас следующей шахматной задачей:

Рассмотрим поле \(n\times m\) (строки пронумерованы от \(1\) до \(n\), столцбы пронумерованы от \(1\) до \(m\)). У вас есть шахматная фигура которая стоит в клетке \((S_x,S_y)\), которая исходно находится не на границе поля (т.е. \(2 \le S_x \le n-1\) и \(2 \le S_y \le m-1\)).

Из клетки \((x,y)\), вы можете подвинуть вашу шахматную фигуру на клетку \((x,y')\) (\(1\le y'\le m, y' \neq y\)) или \((x',y)\) (\(1\le x'\le n, x'\neq x\)). Другими словами, фигура ходит как ладья. Из клетки вы можете перейти в любую клетку на той же строке или столбце.

Ваша задача — посетить каждую клетку ровно один раз. Можете ли вы найти решение?

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

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

В первой строке записаны четыре целых числа \(n\), \(m\), \(S_x\) и \(S_y\) (\(3\le n,m\le 100\), \(2 \le S_x \le n-1\), \(2 \le S_y \le m-1\)) — количество строк, столбцов, и исходная позиция фигуры, соответственно.

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

Вы должны вывести \(n\cdot m\) строк.

В \(i\)-й строке должны быть записаны два целых числа \(x_i\) и \(y_i\) (\(1 \leq x_i \leq n\), \(1 \leq y_i \leq m\)), обозначающие \(i\)-ю посещенную вами клетку. Вы должны вывести ровно \(nm\) пар \((x_i, y_i)\), это должны быть все возможные пары \((x_i, y_i)\), что \(1 \leq x_i \leq n\), \(1 \leq y_i \leq m\).

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

Примечание

Возможные маршруты для двух примеров:


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

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

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