#include using namespace std; const int N=1e5+5; void FileIO(){ freopen("tetris.in","r",stdin); freopen("tetris.out","w",stdout); } namespace sunburstfan{ int n,m,q; int s[N],a[N],ans[N][3]; char c[N]; bool vis[N]; vector v[N]; void solve(){ cin>>n>>m>>q; for(int i=1;i<=n;i++){ cin>>(c+1); for(int j=1;j<=m;j++){ if(c[j]=='#'){ s[j]++; } } } for(int i=1;i<=q;i++){ cin>>a[i]; a[i]++; v[a[i]].push_back(i); } for(int i=1;i<=m;i++){ int l=max(1,i-2),r=i; for(int j=l;j<=r;j++){ for(int x:v[j]){ if(!vis[x]&&s[i]>0){ s[i]--; vis[x]=1; ans[x][i-j+1]=1; } } } if(s[i]>0){ for(int j=l;j<=r;j++){ for(int x:v[j]){ int need=3-ans[x][i-j+1]; if(s[i]>=need){ s[i]-=need; ans[x][i-j+1]=3; } else{ ans[x][i-j+1]+=s[i]; s[i]=0; } if(s[i]==0)break; } if(s[i]==0)break; } } } for(int i=1;i<=q;i++){ for(int j=1;j<=3;j++){ for(int k=1;k<=3;k++){ if(ans[i][k]>=j)cout<<'#'; else cout<<'.'; } cout<<"\n"; } } } } using namespace sunburstfan; int main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); FileIO(); int T=1; while(T--){ solve(); } return 0; }