/*
TASK: mushroom
LANG: C++
*/

#include<iostream>
#include<string>
using namespace std;

int n,m,d,g1ba[200][200],vreme[1000],br=0;
string h;

int main()
{
    
 cin>>n>>m>>d;
 int i,j,o;
 
 for(i=0;i<n;i++)
 {
 cin>>h;
 for(j=0;j<m;j++)
   {
                  g1ba[i][j]=h[j]-'0';
   }
 }

 
 for(i=1;i<=d;i++)
 cin>>vreme[i];
 
 for(o=2;o<=d;o++)
 {
 
 
  if(vreme[o]==0 && vreme[o-1]==1)
  {
  
   
   for(i=0;i<n;i++) { for(j=0;j<m;j++) {
     if(g1ba[i][j]==1) 
     {
      br=0;
      while(1) {
       if(g1ba[i-1][j]!=1 && i!=0) {g1ba[i-1][j]=2; br++;}
       if(br==3) break;
       if(g1ba[i-1][j-1]!=1 && i!=0 && j!=0) {g1ba[i-1][j-1]=2; br++;}
       if(br==3) break;
       
       if(g1ba[i][j-1]!=1 && j!=0) {g1ba[i][j-1]=2; br++;}
       if(br==3) break;
       if(g1ba[i+1][j-1]!=1 && j!=0 ) {g1ba[i+1][j-1]=2; br++;}
       if(br==3) break;
       
       if(g1ba[i+1][j]!=1) {g1ba[i+1][j]=2; br++;}
       if(br==3) break;
       if(g1ba[i+1][j+1]!=1) {g1ba[i+1][j+1]=2; br++;}
       if(br==3) break;
       
       if(g1ba[i][j+1]!=1) {g1ba[i][j+1]=2; br++;}
       if(br==3) break;
       if(g1ba[i-1][j+1]!=1 && i!=0) {g1ba[i-1][j+1]=2; br++;}
       if(br==3) break;
       
       if(br<3) break;
      }//edin mn t1p for (est ;) )
      }/*if-a*/   }/*for1*/ }/*for2*/
   }//sled dajd -> slance
  
  
  
  
  
  
  if((vreme[o]==0 && vreme[o-1]==0) || (vreme[o]==1 && vreme[o-1]==1))
  {
  
 
   
   for(i=0;i<n;i++) { for(j=0;j<m;j++) {
     if(g1ba[i][j]==1) 
     {
      br=0;
       if(g1ba[i-1][j]!=0 && i!=0) {br++;}
       if(g1ba[i-1][j-1]!=0 && i!=0 && j!=0) {br++;}

       
       if(g1ba[i][j-1]!=0 && j!=0) {br++;}
       if(g1ba[i+1][j-1]!=0 && j!=0 ) {br++;}

       
       if(g1ba[i+1][j]!=0) {br++;}
       if(g1ba[i+1][j+1]!=0) {br++;}
    
       
       if(g1ba[i][j+1]!=0) {br++;}
       if(g1ba[i-1][j+1]!=0 && i!=0) {br++;}
      if(br>=4) g1ba[i][j]=3;
      }/*if-a*/   
      }/*for1*/ 
      }/*for2*/
   }//sled dajd -> dajd ili sled slance -> slance
  
  
  
  
  
   for(i=0;i<n;i++) { for(j=0;j<m;j++) {
     if(g1ba[i][j]==3) 
     {
     g1ba[i][j]=0;
      }/*if-a*/   }/*for1*/ }/*for2*/
  
}// THE for   

for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(g1ba[i][j]==2) cout<<"1";
else cout<<g1ba[i][j];
}
cout<<"\n";
}

return 0;
}
