#!/usr/bin/env python3.8 import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines H, W, N = map(int, readline().split()) cols = [0] * W for _ in range(H): S = readline().rstrip() for i, x in enumerate(S): if x == ord('#'): cols[i] += 1 C = list(map(int, read().split())) use = [0 for _ in range(N)] def to_string(n): n, a = divmod(n, 4) c, b = divmod(n, 4) ch = '.', '#' rows = [None] * 3 rows[0] = ch[a > 0] + ch[b > 0] + ch[c > 0] a -= 1 b -= 1 c -= 1 rows[1] = ch[a > 0] + ch[b > 0] + ch[c > 0] a -= 1 b -= 1 c -= 1 rows[2] = ch[a > 0] + ch[b > 0] + ch[c > 0] return '\n'.join(rows) col_to_i = [[] for _ in range(W + 10)] for i, x in enumerate(C): col_to_i[x].append(i) for col in range(W): for i in col_to_i[col - 2]: if cols[col] and not use[i]: use[i] = 16 cols[col] -= 1 for i in col_to_i[col - 1]: if cols[col] and not use[i]: use[i] = 4 cols[col] -= 1 for i in col_to_i[col]: if cols[col] and not use[i]: use[i] = 1 cols[col] -= 1 for col in range(W): for i in col_to_i[col - 2]: n = min(cols[col], 3 - use[i] % 4) cols[col] -= n use[i] += n * 16 for i in col_to_i[col - 1]: n = min(cols[col], 3 - ((use[i] % 16) // 4)) cols[col] -= n use[i] += 4 * n for i in col_to_i[col]: n = min(cols[col], 3 - (use[i] // 16)) cols[col] -= n use[i] += n for n in use: print(to_string(n))