Описание задачи
Каримжон работает в Национальной библиотеке. В секции, где работает Каримжон, есть большой книжный стеллаж размера , где строки пронумерованы от до , а столбцы — от до .
Ячейка стеллажа содержит книгу с номером . Все номера книг на стеллаже различны.
Каримжон может выполнять следующие две операции:
- Перестановка строк: Для каждой строки переставить книги в этой строке в любом порядке. Порядок можно выбирать независимо для каждой строки.
- Перестановка столбцов: Для каждого столбца переставить книги в этом столбце в любом порядке. Порядок можно выбирать независимо для каждого столбца.
Каримжон хочет отсортировать стеллаж. В отсортированном стеллаже строка содержит все книги с номерами от до в возрастающем порядке, строка содержит все книги с номерами от до в возрастающем порядке, и так далее. То есть для всех и должно выполняться условие .
Пусть — минимальное число операций, необходимое для сортировки стеллажа. Вам также дано число , где .
Если , вам нужно только найти минимальное число операций .
Если , вам нужно найти и также вывести последовательность операций, которая его достигает.
Формат ввода
Первая строка содержит три целых числа , и .
Следующие строк содержат по целых чисел --- элементы .
Ограничения:
Формат вывода
Если , выведите одно целое число --- минимальное число операций.
Если , выведите операции по порядку. Для каждой операции выведите строку, содержащую либо row, либо col, указывающую, является ли это перестановкой строк или перестановкой столбцов. Затем выведите строк, каждая из которых содержит целых чисел --- состояние стеллажа после применения этой операции. Наконец, в последней строке выведите --- общее число выполненных операций.
Каждая перестановка строк должна только переставлять элементы внутри каждой строки (мультимножество элементов в каждой строке должно оставаться тем же по сравнению с состоянием до этой операции). Каждая перестановка столбцов должна только переставлять элементы внутри каждого столбца (мультимножество элементов в каждом столбце должно оставаться тем же по сравнению с состоянием до этой операции).
После всех операций стеллаж должен быть отсортирован, т.е. для всех .
Число операций должно быть равно , минимально возможному.
Оценивание
| Подзадача | Дополнительные ограничения | Баллы | Требуемая подзадача |
|---|---|---|---|
| Тесты из примера | - | ||
Примеры
2 2 2 1 0 3 2
row 0 1 2 3 1
Здесь . Минимальное количество операций равно . Мы выполняем одну перестановку строк: в строке мы переставляем в ; в строке мы переставляем в .