from itertools import chain


M, N, Q = list(map(int, input("").split(" ")))

snow = [
    [1 if c == "*" else 0 for c in input("")] for  _ in range(M)
][::-1]


queries = [
    int(input("")) for _ in range(Q)
]

goto_q = max(queries)

def visual(q_):
    for row in q_:
        print("".join({0: ".", 1: "*", 2: "+"}.get(c) for c in row))

            


res = {}

# zero iter
for coln in range(N):
    for rown in range(M):
        if snow[rown][coln] in (1, 2):
            snow[rown][coln] = 2
        else:
            break
     
res[0] = sum([cell == 2 for row in snow for cell in row])

for q_n in range(1, goto_q + 1):
    for rn, row in enumerate(snow[:-1]):
        for cn, cell in enumerate(row):
            if cell == 0 and snow[rn+1][cn] == 1:
                snow[rn][cn], snow[rn+1][cn] = snow[rn+1][cn], snow[rn][cn]

    for coln in range(N):
        for rown in range(M):
            if snow[rown][coln] in (1, 2):
                snow[rown][coln] = 2
            else:
                break
             
    if q_n in queries:
        res[q_n] = sum([cell == 2 for row in snow for cell in row])


    #visual(snow)

for q in queries:
    print(res[q])

