N,M_NUM, Q = map(int, input().split())
M_T = []
for i in range(N):
    M_T.append(list(input()))

M = []
for _ in range(M_NUM):
    M.append([0] * N)

for i in range(len(M_T)):
    for j in range(len(M_T[i])):
        M[j][i] = M_T[i][j]
M.reverse()
#print(M)
T = []
for i in range(Q):
    T.append(int(input()))
dict = {}

def pile():
    summ = 0
    for i in range(len(M)):
        for j in range(len(M[0]) - 1, -1, -1):
            if M[i][j] == '*':
                summ += 1
            else:
                break
    return summ

dict[0] = pile()
lastIdx = 0
#print(dict)

for s in range(len(M)):
    for i in range(M_NUM):
        for j in range(len(M[0]) - 2, -1, -1):
            if M[i][j] == '*':
                if M[i][j + 1] == '.':
                    M[i][j], M[i][j + 1] = M[i][j + 1], M[i][j]
        

    # if i + 1 in dict.keys():
    #     dict[i + 1] += pile()
    #     lastIdx = i + 1
    # else:
    dict[s + 1] = pile()
    lastIdx = s + 1

        # print('matix')
        # for ij in M:
        #     print(ij)
        # print()

for i in T:
    if i >= len(dict):
        print(dict[lastIdx])
    else:
        print(dict[i])

