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

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

Условие

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

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

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

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

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

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

Ограничения

1 ⩽ N,M ⩽ 100

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

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

0.093s 0.021s 13