grid = []

with open("SnimekMozku.in", "r") as f:
    for line in f:
        grid.append([char == "1" for char in line.strip()])


def step(g):
    width = len(g[0])
    height = len(g)
    new_grid = [[False] * width for _ in range(height)]

    for y in range(height):
        for x in range(width):
            count = 0
            for dx, dy in [(x, y) for x in range(-1, 2) for y in range(-1, 2)]:
                if dx == 0 and dy == 0:
                    continue

                nx, ny = (x + dx) % width, (y + dy) % height
                if g[ny][nx]:
                    count += 1

            new_grid[y][x] = (count % 2) == 1

    return new_grid


for _ in range(222):
    grid = step(grid)


for line in grid:
    for ch in line:
        print("#" if ch else " ", end="")
    print()
