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

Задача . B. Подделка


Задача

Темы: реализация *1300

Студент Андрей весь семестр пропускал физкультуру в своем университете, и вот теперь настала пора получать по ней зачет. Разумеется, получить зачет честно Андрей не успевает, но он не сдается. Добыв в местной поликлинике пустой бланк справки, Андрей, зная почерк местного врача, решил подделать справку о болезни. И вот, когда большая часть уже написана, Андрей с ужасом понял, что подпись врача подделать невозможно. Или возможно?

Для удобства Андрей мысленно представил подпись как клетчатое поле \(n\times m\), где каждая клетка либо заполнена чернилами, либо пуста. Ручка Андрея заполняет чернилами квадрат \(3\times3\) без центральной клетки, если он полностью лежит внутри поля, как показано ниже.


xxx
x.x
xxx

Определите, может ли Андрей нарисовать подпись врача на пустом листе бумаги \(n\times m\).

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

В первой строке даны 2 целых числа \(n\) и \(m\) (\(3 \le n, m \le 1000\)).

Далее следуют \(n\) строк по \(m\) символов в каждой. Каждый из символов — либо «.», обозначающий пустую клетку, либо «#», обозначающий клетку с чернилами.

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

Если Андрей может подделать подпись, выведите «YES». Иначе выведите «NO».

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

Примечание

В первом примере Андрей может покрасить границу квадрата с центром в \((2, 2)\).

Во втором примере подпись невозможно подделать.

В третьем примере Андрей может покрасить границы квадратов с центрами в \((2, 2)\) и \((3, 2)\):

  1. изначально бумага чистая:

    ...
    ...
    ...
    ...
  2. используем ручку с центром в \((2, 2)\).

    ###
    #.#
    ###
    ...
  3. используем ручку с центром в \((3, 2)\).

    ###
    ###
    ###
    ###

В четвёртом примере Андрей может покрасить границы квадратов с центрами в \((3, 3)\) и \((3, 5)\).


Примеры
Входные данныеВыходные данные
1 3 3
###
#.#
###
YES
2 3 3
###
###
###
NO
3 4 3
###
###
###
###
YES
4 5 7
.......
.#####.
.#.#.#.
.#####.
.......
YES

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

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