/*
TASK: mushroom
LANG:C++
*/
#include<iostream>
using namespace std;
char a[200][200];
int d[1000];
int main()
{
    int i,n,j,m,h,o,prev,now;
    cin>>n>>m>>h;
    for(i=0;i<n;i++)
    cin>>a[i];
    cin>>d[0];
    for(o=1;o<h;o++)
    {
        cin>>d[o];
        if(d[o-1]==d[o])
        {
            for(i=0;i<n;i++)
            for(j=0;j<m;j++)
            {
                if(a[i][j]=='1')
                {
                    int ss=0;
                    if(a[i-1][j]!='0'&&i-1>-1)
                    ss++;
                    if(a[i-1][j-1]!='0'&&i-1>-1&&j-1>-1)
                    ss++;
                    if(a[i][j-1]!='0'&&j-1>-1)
                    ss++;
                    if(a[i+1][j]!='0'&&i+1<n)
                    ss++;
                    if(a[i+1][j+1]!='0'&&i+1<n&&i+1<m)
                    ss++;
                    if(a[i+1][j-1]!='0'&&i+1<n&&j-1>-1)
                    ss++;
                    if(a[i-1][j+1]!='0'&&i-1>-1&&j+1<m)
                    ss++;
                    if(a[i][j+1]!='0'&&j+1<m)
                    ss++;
                    if(ss>3) a[i][j]='3';
                }
            }
        }
            if(d[o-1]==1&&d[o]==0)
            {
                for(i=0;i<n;i++)
                for(j=0;j<m;j++)
                {
                    if(a[i][j]=='1')
                    {
                        int sbor=0;
                        if(a[i-1][j]!='1'&&sbor<3&&i-1>-1)
                        {
                            a[i-1][j]='2';
                            sbor++;
                        }
                        if(a[i-1][j-1]!='1'&&sbor<3&&i-1>-1&&j-1>-1)
                        {
                            a[i-1][j-1]='2';
                            sbor++;
                        }
                        if(a[i][j-1]!='1'&&sbor<3&&j-1>-1)
                        {
                            a[i][j-1]='2';
                            sbor++;
                        }
                        if(a[i+1][j-1]!='1'&&sbor<3&&i+1<n&&j-1>-1)
                        {
                            a[i+1][j-1]='2';
                            sbor++;
                        }
                        if(a[i+1][j]!='1'&&sbor<3&&i+1<n)
                        {
                            a[i+1][j]='2';
                            sbor++;
                        }
                        if(a[i+1][j+1]!='1'&&sbor<3&&i+1<n&&j+1<m)
                        {
                            a[i+1][j+1]='2';
                            sbor++;
                        }
                        if(a[i][j+1]!=1&&sbor<3&&j+1<m)
                        {
                            a[i][j+1]='2';
                            sbor++;
                        }
                        if(a[i-1][j+1]!='1'&&sbor<3&&j+1<m&&i-1>-1)
                        {
                            a[i-1][j+1]='2';
                            sbor++;
                        }
                    }
                }
            }
            for(i=0;i<n;i++)
            for(j=0;j<m;j++)
            {
                if(a[i][j]=='2') a[i][j]='1';
                if(a[i][j]=='3') a[i][j]='0';
            }
            prev=now;
    }
    for(i=0;i<n;i++)
    {
    for(j=0;j<m;j++)
    cout<<a[i][j];
    cout<<'\n';
    }
    return 0;
}
   
            
        
                     
    
    
