

n, m, k = [int(x) for x in input().split()]

start = [input() for _ in range(n)]

grid = [[False]*100 for _ in range(100)]

for i in range(n):
    for j in range(m):
        grid[i+40][j+40] = start[i][j] == '#'

num_brute = 10
area = sum(sum(1 for i in range(100) if s[i]) for s in grid)
areas = [area]

for step in range(num_brute):
    new_grid = [[False]*100 for _ in range(100)]
    for i in range(100):
        for j in range(100):
            for di in range(i-1, i+2):
                if di >= 0 and di < 100:
                    for dj in range(j-1, j+2):
                        if dj >= 0 and dj < 100:
                            new_grid[i][j] |= grid[di][dj]
    grid = new_grid
    area = sum(sum(1 for i in range(100) if s[i]) for s in grid)
    areas.append(area)

gap1 = areas[-1] - areas[-2]
gap2 = areas[-2] - areas[-3]
gapgap = gap1 - gap2

cur_step = gap1

while len(areas) <= k:
    cur_step += gapgap
    areas.append(areas[-1] + cur_step)

print(areas[k])
