Олимпиадный тренинг

Задача . A. Покраска флага


Сегодня мы сыграем в игру «покрась в красный и белый» (нет, это не гражданская война, это просто цвета канадского флага).

Вам дана таблица \(n \times m\), состоящая из символов «R», «W» и «.». Символ «R» обозначает красную клетку, «W» обозначает белую клетку, а «.» обозначает непокрашенную клетку. Соседями клетки называются клетки, имеющие общую сторону с данной (клетки, имеющие только общий угол, не считаются).

Ваша задача — покрасить непокрашенные клетки в красный или белый так, чтобы у каждой красной клетки были только белые соседи (и не было красных), а у каждой белой — только красные соседи (и не было белых). Уже покрашенные клетки перекрашивать нельзя.

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

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 100\)) — количество наборов входных данных. Далее следуют наборы входных данных.

Первая строка набора входных данных содержит целые числа \(n\) и \(m\) (\(1 \le n \le 50\), \(1 \le m \le 50\)) — высота и ширина таблицы.

Следующие \(n\) строк содержат таблицу. Каждый символ таблицы равен «R», «W» или «.».

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

Для каждого набора входных данных выведите «YES», если можно раскрасить таблицу требуемым образом, и «NO» в противном случае.

Если ответ существует, выведите покрашенную таблицу в следующих \(n\) строках. Если существует несколько решений, выведите любое из них.

Вы можете выводить каждую букву слов «YES» и «NO» в любом регистре (строчную или заглавную), например, ответы «yEs» и «nO» будут зачтены. Однако буквы в таблице нужно выводить заглавными.

Примечание

Ответ в первом примере дан в примере вывода. Можно показать, что решения во втором примере не существует. В третьем примере все клетки изначально покрашены, и покраска является корректной.


Примеры
Входные данныеВыходные данные
1 3
4 6
.R....
......
......
.W....
4 4
.R.W
....
....
....
5 1
R
W
R
W
R
YES
WRWRWR
RWRWRW
WRWRWR
RWRWRW
NO
YES
R
W
R
W
R

time 1500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя