import numpy as np
import fileinput as fi
from scipy.signal import convolve2d

inpt = fi.input()

rules = np.array([c == '#' for c in next(inpt).rstrip()], dtype=np.int_)
next(inpt)
grid = np.array([[c == '#' for c in line.rstrip()] for line in inpt], dtype=np.bool_)

kernel = np.array(2**np.arange(9).reshape((3, 3)))
fillvalue = 0
for i in range(50):
    grid = rules[convolve2d(grid, kernel, fillvalue=fillvalue)]
    fillvalue = rules[511 * fillvalue]
    if i == 1:
        print(np.sum(grid))
print(np.sum(grid))