


line1 = input().strip().split(" ")
N = int(line1[0]) # rows
M = int(line1[1]) # cols
Q = int(line1[2]) # time points

piles: list[list[int]] = [[] for i in range(M)] # pile -> tick when will fall for each snowflake


snow_lines = []
for i in range(N):
    # tick 0
    line2 = input().strip()
    snow_lines.append(line2)

for line_idx in range(N-1, -1, -1):
    snow_line = snow_lines[line_idx]
    for char_idx in range(len(snow_line)):
        if snow_line[char_idx] == "*":
            line_idx_from_bot = N - line_idx - 1
            time_to_fall = line_idx_from_bot - len(piles[char_idx])
            piles[char_idx].append(time_to_fall) # time when will be added


#print(piles)
#update_times = sorted(update_times)

#pile_ptrs = [0 for x in range(len(piles))]
#total_snowflakes = 0

def bsearch(list, val):
    #print("searching", list, val)
    n = len(list)
    l = 0
    r = n-1
    s=0

    if n == 0:
        return -1

    if n == 1:
        return val >= list[0]

    if val >= list[-1]:
        #print("too big")
        return n-1
    while l <= r:
        #print("slr ", s, l, r)
        s = (l+r) // 2
        #print(s)
        if val == list[s]:
            #print("orig s", s)
            while s+1 < len(list) and list[s+1] == val:
                s+=1
            #print("actual s", s)
            return s
        if val > list[s]:
            l=s+1
        else:
            r=s-1

    #print("binsearch exited with s ", s)
    #s=-1
    #while s+1 < len(list) and list[s+1] == val:
    #    s+=1
    #print("ret", s)
    return s-1


for i in range(Q):
    time = int(input().strip())
    #pile_ptrs = [0 for x in range(len(piles))]
    total_snowflakes = 0
    #print("time", time)

    for pile_idx in range(len(piles)):
        #ptr = pile_ptrs[pile_idx]
        pile = piles[pile_idx]

        # adv index to correct pos
        #print( pile_ptrs[pile_idx], len(pile))
        #print(pile[pile_ptrs[pile_idx]], time)

        found = bsearch(pile, time) + 1
        #print("found", found, "in pile" , pile_idx)

        total_snowflakes += found


        #while ptr < len(pile) and pile[ptr] <= time:
        #    #print("a")
        #    ptr += 1
        #    total_snowflakes += 1

        #ptr = bsearch(pile, time)

        #pile_ptrs[pile_idx] = ptr

    #print(sum(pile_ptrs))
    #print("sflk")
    print(total_snowflakes)
    #print("pile_ptrs after this time", pile_ptrs)

#print(results)

#for time in times_orig:
#    print(results[time])


