Байтек любит играть в мобильные игры. Однако его раздражает часто появляющаяся реклама других игр, в которых игрок справляется очень плохо, что должно вызывать у зрителя разочарование и желание сыграть самому. Одна из таких реклам (которую, возможно, вам тоже доводилось видеть) особенно запомнилась Байтеку.
Поскольку вдохновение можно черпать отовсюду, Байтек решил на основе этой игры создать задачу. Он выбирает целевое цветное поле размером $n \times m$, а игру начинает с поля $n \times m$, на котором ни одна клетка не имеет цвета. За один ход он может выбрать ряд или столбец и перекрасить все клетки в нем в выбранный им цвет (обратите внимание, что это дает ему больше свободы, чем в игре, представленной на картинках выше, где цвета рядов и столбцов были предопределены). Чтобы немного формализовать задачу, все цвета он обозначил заглавными буквами английского алфавита. Поможете ли вы ему и напишете программу, которая для каждой заданной им доски выдаст последовательность ходов, правильно создающую целевую цветовую схему? Вы можете предположить, что получите входные данные, в которых этой цели можно достичь не более чем за $n + m$ ходов.
Входные данные
В первой строке стандартного ввода находятся два целых числа $n$ и $m$ ($1 \le n, m \le 2\,000$), обозначающие соответственно высоту и ширину доски.
В каждой из следующих $n$ строк находится по $m$ символов, каждый из которых является заглавной буквой английского алфавита; $j$-й символ в $i$-й из этих строк обозначает целевой цвет клетки, находящейся в $i$-м ряду и $j$-м столбце доски.
Гарантируется, что заданную цветовую схему можно достичь последовательностью не более чем из $n + m$ ходов, описанных в условии задачи.
Выходные данные
В первой строке вывода должно находиться одно целое число $r$ ($1 \le r \le n + m$), обозначающее количество ходов, которые вы хотите сделать. В каждой из следующих $r$ строк должно находиться описание хода.
Описание одного хода должно начинаться с символа ‘R’ или ‘K’, обозначающего, хотите ли вы перекрасить ряд или столбец (где, очевидно, ‘R’ означает ряд, а ‘K’ — столбец). Далее, после одиночного пробела, должен находиться номер ряда или столбца, который вы хотите перекрасить. Ряды нумеруются сверху вниз числами от 1 до $n$, а столбцы слева направо числами от 1 до $m$. Затем, после одиночного пробела, должна находиться одна заглавная буква английского алфавита, обозначающая цвет, в который вы хотите перекрасить выбранный ряд или столбец.
Обратите внимание, что вам не нужно минимизировать количество ходов — достаточно выполнить их не более $n + m$.
Примеры
Пример 1
Входные данные
5 5 AAPAA APPAA AAPAA AAPAA APPPA
Выходные данные
10 R 1 Z K 4 A K 2 P R 5 P R 4 A R 3 A R 1 A K 5 A K 3 P K 1 A
Пример 2
Входные данные
2 3 AAA PPP
Выходные данные
2 R 2 P R 1 A
Примечание
Пояснение к примеру: Если в первом тестовом примере мы предположим, что буква ‘P’ означает зеленый цвет, буква ‘A’ — желтый, а буква ‘Z’ — синий, то выбранная последовательность ходов раскрашивает доску следующим образом:
Пояснение к примеру: Если в первом тестовом примере мы предположим, что буква ‘P’ означает зеленый цвет, буква ‘A’ — желтый, а буква ‘Z’ — синий, то выбранная последовательность ходов раскрашивает доску следующим образом: