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

Задача . A. Мистическая мозаика


У Аркадия была прямоугольная таблица из n строк и m столбцов, при этом каждая клетка изначально была покрашена в белый.

Аркадий выполнил несколько (возможно, ноль) операций на ней. На i-й операции он выбрал непустое подмножество строк Ri и непустое подмножество столбцов Ci. Для каждой строки r в Ri и каждого столбца c в Ci он закрасил пересечение строки r и столбца c в черный цвет.

Кроме того, есть дополнительное ограничение: строка или столбец могут выбраны в течение всех операций не более раза. Другими словами, не существует пары (i, j) (i < j) такой, что или , где обозначает пересечение множеств, а  — пустое множество.

Вам дана некоторая таблица. Определите, могла ли она получиться после применения таких операций.

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

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

Каждая из следующих n строк содержит строку из m символов, каждый из которых либо «.» (обозначает белую клетку), либо «#» (обозначает черную клетку). Эти строки описывают финальную таблицу.

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

Если данная таблица может быть получена некоторой корректной последовательностью операций, выведите «Yes»; в противном случае выведите «No» (без кавычек).

Вы можете выводить каждую букву в любом регистре (строчную или заглавную).

Примечание

В первом примере таблицу можно получить за 3 операции, как показано на рисунке ниже.

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


Примеры
Входные данныеВыходные данные
1 5 8
.#.#..#.
.....#..
.#.#..#.
#.#....#
.....#..
Yes
2 5 5
..#..
..#..
#####
..#..
..#..
No
3 5 9
........#
#........
..##.#...
.......#.
....#.#.#
No

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

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