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

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

cur_bfs = set()
new_bfs = set((i, j) for i in range(n) for j in range(m) if start[i][j] == '#')
area = len(cur_bfs) + len(new_bfs)
areas = [area]

num_bfs = 40

for step in range(num_bfs):
    nn_bfs = set()

    for i, j in new_bfs:
        for di, dj in [(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0), (1, 1)]:
            ni, nj = i + di, j + dj
            if not ((ni, nj) in cur_bfs or (ni, nj) in new_bfs):
                nn_bfs.add((ni, nj))
    cur_bfs, new_bfs = cur_bfs.union(new_bfs), nn_bfs
    areas.append(len(cur_bfs) + len(new_bfs))

if k < len(areas):
    print(areas[k])
elif areas[0] == 0:
    print(0)
else:
    bfs = cur_bfs.union(new_bfs)

    minx = min(i for (i, j) in bfs)
    maxx = max(i for (i, j) in bfs)
    miny = min(j for (i, j) in bfs)
    maxy = max(j for (i, j) in bfs)

    width = maxx-minx
    height = maxy-miny

    remaining_steps = k - len(areas) + 1
    cur = areas[-1]

    # In step 1 we add 2*h + 2*w - 4, and then every step we add 4 more.
    cur += remaining_steps*(2*height + 2*width)
    cur += 4*remaining_steps*(remaining_steps + 1)
    print(cur)
