D. Башни из кирпичей
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Наигравшись на бумаге, Яхуб перешел на компьютерные игры. Он играет в игру под названием «Башни из кирпичей». Играется она на прямоугольной таблице, состоящей из n строк и m столбцов (таблица содержит n × m ячеек). Цель игры — построить свой собственный город. Некоторые ячейки таблицы — это огромные дыры, и там Яхуб никакого здания построить не может. Остальные ячейки — пустые. В некоторой пустой ячейке можно построить ровно одну башню одного из двух следующих видов:

  1. Синие башни. Лимит населения каждой равен 100.
  2. Красные башни. Лимит населения каждой равен 200. Однако, красную башню можно построить в некоторой ячейке только тогда, когда на момент постройки хотя бы одна из соседних ячеек имеет синюю башню. Две ячейки являются соседними, если они имеют общую сторону.

Яхубу также разрешено уничтожить здание в любой ячейке. Он может выполнять эту операцию какое угодно количество раз. Уничтожение одного здания не влияет на остальные здания, а ячейка, в которой уничтожили здание, становится пустой (таким образом, Яхуб может, если это нужно, построить башню в этой ячейке — такой случай показан во втором примере).

Яхуб может привезти в свой город столько населения, сколько хочет. Итак, ему нужно построить свой город так, чтобы в нем помещалось как можно больше людей. То есть нужно найти оптимальную последовательность застройки, такую, что итоговый суммарный лимит населения как можно больше.

Яхуб говорит, что в этой игре он лучший, и все же, у него нет оптимального решения. Напишите программу, которая высчитывает оптимальное решение и покажите зазнайке, что он не так уж и крут!

Входные данные

В первой строке содержатся два целых числа n и m (1 ≤ n, m ≤ 500). В каждой из следующих n строк содержится m символов, описывающих таблицу. Если j-ой символ в i-ой строке равен «.», значит, в ячейке с координатами (i, j) разрешается строить башню (пустая ячейка). А если символ равен «#», значит, в ячейке огромная дыра.

Выходные данные

В первой строке выведите целое число k (0 ≤ k ≤ 106) — количество операций, которое должен совершить Яхуб, чтобы застроить город оптимально.

Каждая из следующих k строк должна содержать одну из трех описанных операций в формате:

  1. «B x y» (1 ≤ x ≤ n, 1 ≤ y ≤ m) — операция постройки синей башни в клетке (x, y);
  2. «R x y» (1 ≤ x ≤ n, 1 ≤ y ≤ m) — операция постройки красной башни в клетке (x, y);
  3. «D x y» (1 ≤ x ≤ n, 1 ≤ y ≤ m) — операция разрушения башни в клетке (x, y).

Если существует несколько решений, разрешается вывести любое. Обратите внимание, минимизировать количество операций не требуется.

Примеры
Входные данные
2 3
..#
.#.
Выходные данные
4
B 1 1
R 1 2
R 2 1
B 2 3
Входные данные
1 3
...
Выходные данные
5
B 1 1
B 1 2
R 1 3
D 1 2
R 1 2