package prog;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

public class prog {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		
		int n = s.nextInt();
		int m = s.nextInt();
		int h = s.nextInt();
		
		s.nextLine();
		
		char[][] M1 = new char[n][m];
		char[][] M2 = new char[h][m];
		char[][] M3 = new char[h][n];
		
		for(int i = 0; i < n; i++) {
			M1[i] = s.nextLine().toCharArray();
		}
		
		for(int i = 0; i < h; i++) {
			M2[i] = s.nextLine().toCharArray();
		}
		
		for(int i = 0; i < h; i++) {
			M3[i] = s.nextLine().toCharArray();
		}
		
		int nr;
		for(int j = 0; j < m; j++) {
			nr = 0;
			for(int i = 0; i < h; i++)
				if(M2[i][j] == '#')
					nr++;
			
			if(nr != 0)
				for(int i = 0; i < n; i++)
					if(M1[i][j] == '#')
						M1[i][j] = (char) ('0' + nr);
		}
		
		for(int j = 0; j < n; j++) {
			nr = 0;
			
			for(int i = 0; i < h; i++)
				if(M3[i][j] == '#')
					nr++;
			
			if(nr != 0)
				for(int k = 0; k < m; k++)
					if(M1[n - j - 1][k] != '.' && M1[n - j - 1][k] > (char)('0' + nr))
						M1[n - j - 1][k] = (char) ('0' + nr);
		
		}
		
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < m; j++)
				System.out.print(M1[i][j]);
			System.out.println();
		}
				
		
		s.close();		
	}
}