#include <iostream>
using namespace std;

int n, m, h, i, j, cnt, k;
char a[1001][1001], b[11][1001], c[11][1001], hs[1001][1001];
bool viz[1001], viz2[1001];
int main()
{
	cin>>n>>m>>h;
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=m; j++)
		{
			cin>>a[i][j];
			hs[i][j]='.';
		}
	}
	for(i=1; i<=h; i++)
	{
		for(j=1; j<=m; j++)
		{
			cin>>b[i][j];
		}
	}
	for(i=1; i<=h; i++)
	{
		for(j=1; j<=n; j++)
		{
			cin>>c[i][j];
		}
	}
	for(i=n; i>=1; i--)
	{
		for(j=1; j<=m; j++)
		{
			if(viz[j] && j<=m)
				continue;
			if(a[i][j]=='#')
			{
				cnt=0;
				for(k=1; k<=h; k++)
				{
					if(b[k][j]=='#')
						cnt++;
				}
				hs[i][j]=cnt+48;
				viz[j]=1;
			}
		}
	}
	for(i=n; i>=1; i--)
	{
		for(j=m; j>=1; j--)
		{
			if(viz2[i])
				break;
			if(a[i][j]=='#')
			{
				cnt=0;
				for(k=1; k<=h; k++)
				{
					if(c[k][n-i+1]=='#')
						cnt++;
				}
				int is, js;
				is=i; js=j;
				while(hs[is][js]!=cnt+48 && hs[is][js]!='.')
					js--;
				hs[is][js]=cnt+48;
				viz2[i]=1;
			}
		}
	}
		for(i=1; i<=n; i++)
		{
			for(j=1; j<=m; j++)
			{
				if(a[i][j]=='#' && hs[i][j]=='.')
					hs[i][j]='1';
				cout<<hs[i][j];
			}
			cout<<"\n";
		}
}