Вам дана таблица с \(n\) строками и \(m\) столбцами, где в каждой ячейке написано неотрицательное целое число. Мы говорим, что таблица является хорошей, если для каждой ячейки выполняется следующее условие: если в ней написано число \(k > 0\), то ровно в \(k\) соседних с ней ячейках написано число, большее \(0\). Заметьте, что если число в ячейке равно \(0\), то нет никаких условий на соседние ячейки.
Вы можете взять любое число в таблице и увеличить его на \(1\). Вы можете применять эту операцию столько раз, сколько хотите, к любым числам в таблице. Выполните несколько операций (возможно, ноль), чтобы сделать сетку хорошей, или скажите, что это невозможно. Если существует несколько возможных ответов, вы можете вывести любой из них.
Две ячейки считаются соседними, если они имеют общее ребро.
Выходные данные
Если получить хорошую таблицу невозможно, выведите одну строку, содержащую "NO".
В противном случае выведите одну строку, содержащую "YES", за которой следуют \(n\) строк, каждая из которых содержит \(m\) целых чисел, которые описывают конечное состояние сетки. Эта конечная таблица должна быть доступна из начальной с помощью применения нескольких операций (возможно, ни одной).
Если существует несколько возможных ответов, вы можете вывести любой из них.
Примечание
В первом наборе входных данных мы можем получить хорошую таблицу, увеличив число в строке \(2\), столбце \(3\) один раз. Обе ячейки, содержащие \(1\), имеют ровно одного соседа, который больше нуля, поэтому таблица хорошая. Существует много других решений, таких как таблица
\(\)0\;1\;0\;0\(\) \(\)0\;2\;1\;0\(\) \(\)0\;0\;0\;0\(\) Все они принимаются как действительные ответы.
Во втором наборе входных данных невозможно сделать таблицу хорошей.
В третьем наборе входных данных обратите внимание, что ни в одной ячейке нет числа больше нуля, поэтому таблица изначально хорошая.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 3 4 0 0 0 0 0 1 0 0 0 0 0 0 2 2 3 0 0 0 2 2 0 0 0 0 2 3 0 0 0 0 4 0 4 4 0 0 0 0 0 2 0 1 0 0 0 0 0 0 0 0
|
YES
0 0 0 0
0 1 1 0
0 0 0 0
NO
YES
0 0
0 0
NO
YES
0 1 0 0
1 4 2 1
0 2 0 0
1 3 1 0
|