На прогулке в детском саду Никифор играет в классики. Поле для игры представляет собой прямоугольник размером M на N метров, разбитый на клетки
размером 1 на 1 метр. Никифор прыгает из клетки в клетку (не обязательно в соседнюю). При этом каждая клетка окрашена в черный или в белый цвет. Каждый раз, когда Никифор попадает на клетку во всех клетках, центры которых удалены от центра клетки с Никифором на целое число метров, цвет меняется на
противоположный. Известно, сколько раз Никифор побывал на каждой из клеток, а также цвета всех клеток в конце игры. Требуется восстановить начальную раскраску клеток поля.
Исходные данные
В первой строке находятся целые неотрицательные числа M и N, не
превосходящие 50. В последующих M строках находится символьная таблица размеров M на N, описывающая конечную раскраску клеток поля. Символ W означает, что соответствующая клетка белая, а символ B — что чёрная. Других символов эта таблица не содержит. Затем в последующих M строках находится матрица размером M на N из целых неотрицательных чисел, показывающих, сколько раз Никифор побывал на каждой из клеток. Числа в этих строках не превосходят 2∙109 и отделяются друг от друга пробелом.
Результат
Выведите M строк, в которых находится символьная таблица, описывающая начальную раскраску поля по тем же правилам, по которым описывается конечное состояние поля.
Пример
исходные данные | результат |
---|
6 6
BWBBWW
BWBBWB
BBWWBW
BBBBBW
BBWWWW
BBWBBW
2 0 12 46 2 0
3 0 0 0 0 200
4 2 1 1 4 2
4 2 1 1 4 4
0 0 0 0 0 0
2 56 24 4 2 2
| WWBBWW
WBWWBW
WBBBBW
WBWWBW
WBWWBW
WBWWBW
|
Автор задачи: Дмитрий Филимоненков
Источник задачи: VI Ural State University Collegiate Programming Contest (21.10.2001)