Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
На прямоугольном поле есть закрашенные и незакрашенные клетки. Требуется определить, можно ли разбить закрашенные клетки на два прямоугольника, со сторонами, параллельными осям координат.

Недавно один известный художник-абстракционист произвел на свет новый шедевр – картину «Два черных непересекающихся прямоугольника». Картина представляет собой прямоугольник \(m\)×\(n\), разбитый на квадраты 1×1, некоторые из которых закрашены любимым цветом автора – черным. Федя – не любитель абстрактных картин, однако ему стало интересно, действительно ли на картине изображены два непересекающихся прямоугольника. Помогите ему это узнать. Прямоугольники не пересекаются в том смысле, что они не имеют общих клеток.

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

Первая строка входного файла содержит числа \(m\) и \(n\) (1 ≤ \(m\), \(n\) ≤ 200). Следующие \(m\) строк содержат описание рисунка. Каждая строка содержит ровно \(n\) символов. Символ «.» обозначает пустой квадрат, а символ «#» – закрашенный.

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

Если рисунок можно представить как два непересекающихся прямоугольника, выведите в первой строке «YES», а в следующих m строках выведите рисунок в том же виде, в каком он задан во входном файле, заменив квадраты, соответствующие первому прямоугольнику на символ «a», а второму – на символ «b». Если решений несколько, выведите любое.

Если же этого сделать нельзя, выведите в выходной файл «NO».

Примеры
Входные данные
2 1
#
.
Выходные данные
NO
Входные данные
2 2
..
##
Выходные данные
YES
..
ab
Входные данные
1 3
###
Выходные данные
YES
abb
Входные данные
3 1
.
#
#
Выходные данные
YES
.
a
b

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест