#include using namespace std; int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } const int N=1e5+5; int n,m,q; int s[N],cnt[N],a[N]; int ans[N][3]; char c[N]; bool b[N]; vectorv[N]; int main(){ // freopen("tetris.in","r",stdin); // freopen("tetris.out","w",stdout); 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++){ a[i]=read()+1; 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 k=0;k=3-ans[x][i-j+1]){ s[i]-=(3-ans[x][i-j+1]); ans[x][i-j+1]=3; } else { ans[x][i-j+1]+=s[i]; s[i]=0; } } } } } 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"; } } return 0; }