Задача 4R. Game of Life

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Требуется написать программу, вычисляющую следующую итерацию игры «Жизнь». Игра проходит в прямоугольной области размером N на M, состоящей из символов точка (.), обозначающий мёртвую клетку, и решётка (#), обозначающий живую. Новое состояние каждой клетки определяется состоянием её 8 соседей по следующим правилам:

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

При решении задачи запрещено использовать библиотеку numpy.

Формат входных данных

Входные данные содержат текущее состояние игры.

Формат выходных данных

Выходные данные должны содержать следующую итерацию игры в том же формате.

Ограничения

N,M ≥ 1

Примеры тестов

Стандартный вход Стандартный выход
1
....
.##.
.##.
....
....
.##.
.##.
....
2
.....
..#..
..#..
..#..
.....
.....
.....
.###.
.....
.....

0.190s 0.097s 13