Bajtek adora jugar juegos móviles. Sin embargo, le irritan los anuncios frecuentes de otros juegos en los que la persona que juega lo hace muy mal, lo cual está diseñado para frustrar al espectador y generar el deseo de jugar. Uno de esos anuncios (que quizás ustedes mismos hayan tenido la oportunidad de ver) se quedó grabado en la memoria de Bajtek.
Dado que la inspiración se puede encontrar en cualquier parte, Bajtek decidió crear un problema basado en el juego anterior. Él elegirá un tablero de colores objetivo de dimensiones $n \times m$, y comenzará el juego con un tablero de $n \times m$ en el que ninguna casilla tiene color. En un movimiento, puede elegir una fila o una columna y pintar todas las casillas en ella con un color de su elección (nótese que esto le da más libertad que en el juego mostrado en las imágenes anteriores, donde las filas y columnas tenían colores predeterminados). Para formalizar un poco el problema, marcó todos los colores con letras mayúsculas del alfabeto inglés. ¿Podrás ayudarlo y escribir un programa que, para cada tablero que él proponga, proporcione una secuencia de movimientos que cree correctamente la disposición de colores objetivo? Puedes asumir que recibirás datos de entrada en los que este objetivo se puede alcanzar en un máximo de $n + m$ movimientos.
Entrada
La primera línea de la entrada estándar contiene dos números enteros $n$ y $m$ ($1 \leq n, m \leq 2\,000$), que representan la altura y el ancho del tablero, respectivamente.
En cada una de las siguientes $n$ líneas hay $m$ caracteres, cada uno de los cuales es una letra mayúscula del alfabeto inglés; el $j$-ésimo carácter en la $i$-ésima de estas líneas indica el color objetivo de la casilla situada en la $i$-ésima fila y la $j$-ésima columna del tablero.
Se garantiza que la disposición de colores dada se puede alcanzar con una secuencia de al menos $n + m$ movimientos descritos en el enunciado del problema.
Salida
La primera línea de la salida debe contener un número entero $r$ ($1 \leq r \leq n + m$), que representa el número de movimientos que deseas realizar. En cada una de las siguientes $r$ líneas debe haber una descripción del movimiento.
La descripción de un movimiento debe comenzar con el carácter 'R' o 'K', indicando si deseas pintar una fila o una columna (donde, por supuesto, 'R' significa fila y 'K' significa columna). Luego, después de un espacio simple, debe haber el número de la fila o columna que deseas pintar. Las filas se numeran de arriba a abajo con números del 1 al $n$, y las columnas de izquierda a derecha con números del 1 al $m$. A continuación, después de un espacio simple, debe haber una letra mayúscula del alfabeto inglés, que indica el color con el que deseas pintar la fila o columna seleccionada.
Ten en cuenta que no necesitas minimizar el número de movimientos; basta con que realices como máximo $n + m$.
Ejemplos
Entrada 1
5 5 AAPAA APPAA AAPAA AAPAA APPPA
Salida 1
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
Entrada 2
2 3 AAA PPP
Salida 2
2 R 2 P R 1 A
Nota
Explicación del ejemplo: Si en el primer caso de prueba asumimos que la letra 'P' significa color verde, la letra 'A' significa color amarillo y la letra 'Z' significa color azul, entonces la secuencia de movimientos elegida pinta el tablero de la siguiente manera:
Figura 1. Explicación del ejemplo: secuencia de movimientos