#include<cmath>
#include<vector>
#include<iostream>
using namespace std;
void _print(const vector<vector<int>>& snows, int n , int m){

	for(int i=0; i<n; i++){
		for(int j=0; j<m; j++){
			cout<<snows[i][j]<<' ';
		}
		cout<<'\n';
	}
}
int count_row(const vector<vector<int>>& snows, int m, int row){
	int ans=0;
	for(int i=0; i<m; i++){
		ans+=snows[row][i];
	}
	return ans;
}
void count_count(const vector<vector<int>>& snows, int n, int m, vector<int>& counted){
	//todo lazy count
	for(int i=0; i<n; i++){
		if(i){
			counted[i]+=counted[i-1];
		}
		counted[i]+=count_row(snows, m, n-1-i);
	}
}
void _print_count(const vector<int>& counted, int n ){
	cout<<"counted"<<endl;
	for(int i=0; i<n ; i++){
		cout<<counted[i]<<' ';
	}
	cout<<endl;
}
int main() {
	int n, m, q, i ,j ;
	cin>>n>>m>>q;
	vector<vector<int>> snows(n,vector<int>(m)), ground(n,vector<int>(m, 0));
	for(i=0; i<n; i++){
		cin>>ws;
		for(j=0; j<m; j++){
			snows[i][j] = getchar()=='*';
			if(i && snows[i][j]){ 
				for(int k=i; k>0; k--){
				snows[k][j]+=snows[k-1][j];
				snows[k-1][j]=0;
				}
			}

		}
	}
	cin>>ws;
	//_print( snows, n ,m );
	vector<int> counted(n, 0);
	count_count(snows, n, m,counted);
	//_print_count(counted, n);
	int question;
	for(i=0; i<q; i++){
		cin>>question;
		if(question<=n-1){
		cout<<counted[question]<<'\n';
		}
		else{
		cout<<counted[n-1]<<'\n';
		}

	}
	//cout<<"passed"<<endl;
	return 0;
}

