Bajtek adore jouer aux jeux mobiles. Cependant, il est souvent irrité par les publicités pour d'autres jeux, où le joueur joue très mal, ce qui est censé provoquer la frustration du spectateur et l'envie de jouer. L'une de ces publicités (que vous avez peut-être eu l'occasion de voir vous-même) a particulièrement marqué Bajtek.
Comme l'inspiration peut venir de n'importe où, Bajtek a décidé de créer un problème basé sur le jeu ci-dessus. Il choisit une grille colorée cible de dimensions $n \times m$, et commence le jeu avec une grille $n \times m$ où aucune case n'a de couleur. En un mouvement, il peut choisir une ligne ou une colonne et repeindre toutes les cases de celle-ci avec une couleur de son choix (notez que cela lui donne plus de liberté que dans le jeu présenté sur les images ci-dessus, où les lignes et les colonnes avaient des couleurs imposées). Pour formaliser un peu le problème, il a désigné toutes les couleurs par des lettres majuscules de l'alphabet anglais. Pouvez-vous l'aider et écrire un programme qui, pour chaque grille qu'il propose, donne une séquence de mouvements qui crée correctement la disposition des couleurs cible ? Vous pouvez supposer que les données d'entrée fournies permettent d'atteindre cet objectif en au plus $n + m$ mouvements.
Entrée
La première ligne de l'entrée standard contient deux entiers $n$ et $m$ ($1 \le n, m \le 2\,000$), représentant respectivement la hauteur et la largeur de la grille.
Chacune des $n$ lignes suivantes contient $m$ caractères, chacun étant une lettre majuscule de l'alphabet anglais ; le $j$-ième caractère de la $i$-ième ligne indique la couleur cible de la case située dans la $i$-ième ligne et la $j$-ième colonne de la grille.
Il est garanti que la disposition des couleurs donnée peut être atteinte par une séquence d'au plus $n+m$ mouvements décrits dans l'énoncé du problème.
Sortie
La première ligne de la sortie doit contenir un entier $r$ ($1 \le r \le n+m$), représentant le nombre de mouvements que vous souhaitez effectuer. Chacune des $r$ lignes suivantes doit contenir la description d'un mouvement.
La description d'un mouvement doit commencer par le caractère 'R' ou 'K', indiquant si vous souhaitez repeindre une ligne ou une colonne (où, bien sûr, 'R' signifie ligne et 'K' signifie colonne). Ensuite, après un espace, doit se trouver le numéro de la ligne ou de la colonne que vous souhaitez repeindre. Les lignes sont numérotées de haut en bas de $1$ à $n$, et les colonnes de gauche à droite de $1$ à $m$. Ensuite, après un espace, doit se trouver une lettre majuscule de l'alphabet anglais, indiquant la couleur avec laquelle vous souhaitez repeindre la ligne ou la colonne choisie.
Notez que vous n'avez pas besoin de minimiser le nombre de mouvements – il suffit d'en effectuer au plus $n + m$.
Exemples
Entrée 1
5 5 AAPAA APPAA AAPAA AAPAA APPPA
Sortie 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
Entrée 2
2 3 AAA PPP
Sortie 2
2 R 2 P R 1 A
Remarque
Explication de l'exemple : Si dans le premier test d'exemple nous supposons que la lettre 'P' représente la couleur verte, la lettre 'A' représente la couleur jaune, et la lettre 'Z' représente la couleur bleue, alors la séquence de mouvements choisie peint la grille de la manière suivante :
Figure 1. Illustration of the grid coloring process