#include using namespace std; #define fi first #define sc second #define pii pair #define pdd pair #define pb push_back #define umap unordered_map #define mset multiset #define pq priority_queue #define ull unsigned long long #define i128 __int128 #define ld long double #define fixs fixed< vec[maxn]; void solve(){ cin>>n>>m>>k; for(int i=1;i<=n;i++){ string str; cin>>str,str=" "+str; for(int j=1;j<=m;j++) s[j]+=(str[j]=='#'); } for(int i=1,x;i<=k;i++) cin>>x,x++,vec[x].pb(i); for(int i=1;i<=m;i++){ int sum=0; for(int j:{0,1,2}) if(i-j>0) sum+=vec[i-j].size(); if(sum==0) continue; for(int j:{0,1,2}){ if(i-j>0){ for(int x:vec[i-j]) res[x][j]+=s[i]/sum; } } s[i]%=sum; for(int j:{0,1,2}){ if(i-j>0){ for(int x:vec[i-j]){ if(s[i]>0) res[x][j]++,s[i]--; } } } } // for(int i=1;i<=k;i++) cout<>t; while(t--) solve(); return 0; } /* Samples input: output: THINGS TODO: ??freopen??????? ???? ???????????? */