Bajtek はモバイルゲームをプレイするのが大好きです。しかし、他のゲームの広告が頻繁に表示され、プレイしている人物が非常に下手なプレイをしていて、見ている側をイライラさせ、自分もプレイしたいと思わせるような演出にはうんざりしています。そのような広告の一つ(あなたも見たことがあるかもしれません)が、特に Bajtek の記憶に残りました。
インスピレーションはどこからでも得られるものとして、Bajtek は上記のゲームに基づいて問題を作成することにしました。彼は $n \times m$ の目標となるカラーボードを選択します。ゲームは、どのマスも色が塗られていない $n \times m$ のボードから始まります。1 回の操作で、行または列を選択し、その中のすべてのマスを自分で選んだ色で塗りつぶすことができます(上記の画像で示されたゲームとは異なり、行や列の色が固定されていないため、より自由度が高いことに注意してください)。問題を少し形式化するために、すべての色を英語のアルファベットの大文字で表すことにしました。彼を助けて、彼が指定した各ボードに対して、目標の色の配置を正しく作成する操作手順を出力するプログラムを作成してください。入力データは、最大 $n + m$ 回の操作で目標を達成できるものと仮定して構いません。
入力
標準入力の最初の行には、ボードの高さと幅を表す 2 つの整数 $n$ と $m$ ($1 \le n, m \le 2\,000$) が含まれています。
続く $n$ 行のそれぞれには $m$ 文字が含まれており、各文字は英語のアルファベットの大文字です。$i$ 行目の $j$ 番目の文字は、$i$ 行目 $j$ 列目にあるマスの目標の色を表します。
指定された色の配置は、問題文で説明されている最大 $n + m$ 回の操作手順で達成できることが保証されています。
出力
出力の最初の行には、実行する操作の回数を表す整数 $r$ ($1 \le r \le n + m$) を出力してください。続く $r$ 行のそれぞれには、操作の説明を出力してください。
1 回の操作の説明は、行を塗りつぶすか列を塗りつぶすかを示す文字 'R' または 'K' で始まる必要があります('R' は行、'K' は列を意味します)。続いて半角スペースを空け、塗りつぶしたい行番号または列番号を出力してください。行は上から下へ $1$ から $n$ まで、列は左から右へ $1$ から $m$ まで番号が付けられています。次に半角スペースを空け、選択した行または列を塗りつぶす色を表す英語のアルファベットの大文字を 1 文字出力してください。
操作回数を最小化する必要はありません。最大 $n + m$ 回以内で実行すれば十分です。
入出力例
入力 1
5 5 AAPAA APPAA AAPAA AAPAA APPPA
出力 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
入力 2
2 3 AAA PPP
出力 2
2 R 2 P R 1 A
注記
例の解説:最初のテストケースにおいて、文字 'P' が緑色、文字 'A' が黄色、文字 'Z' が青色を表すと仮定すると、選択された操作手順によってボードは以下のように塗りつぶされます。