#include using namespace std; #define int long long #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x),end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair pii; typedef vector vi; typedef vector> vvi; typedef vector> vpii; template using vec = vector; template using uset = unordered_set; template using umap = unordered_map; void solve() { int N, M, Q; cin >> N >> M >> Q; vec> fall_grid(N, vec(M)); rep(i, 0, N) { string fall_row; cin >> fall_row; rep(i2, 0, M) { fall_grid[N-1-i][i2] = fall_row[i2]; } } vi add_in_ti(1e5 + 1, 0); multimap ti_increment; rep(column, 0, M) { int ti = 0; rep(row, 0, N) { if (fall_grid[row][column] == '*') { ti_increment.emplace(ti, 1); } else { ti++; } } } for (auto [ti, incr]: ti_increment) { add_in_ti[ti] += incr; } vi sum_in_ti(1e5+1, 0); sum_in_ti[0] = add_in_ti[0]; rep(i, 1, 1e5 +1) { sum_in_ti[i] =sum_in_ti[i-1] + add_in_ti[i]; } rep(i, 0, Q) { int ti; cin >> ti; cout << sum_in_ti[ti] << '\n'; } } signed main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); ll T = 1; // cin >> T; rep(i, 0, T) solve(); }