#include <cstdio>
#include <algorithm>

using namespace std;

const int NMAX = 1000;
const int HMAX = 9;

char ch[NMAX + 1][NMAX + 1], chx[HMAX + 1][NMAX + 1], chy[HMAX + 1][NMAX + 1];
int v[NMAX + 1][NMAX + 1], hx[HMAX + 1][NMAX + 1], hy[HMAX + 1][NMAX + 1];
int hc[NMAX + 1], hl[NMAX + 1];

int main () {
    //freopen ("Stax.in", "r", stdin);
    //freopen ("Stax.out", "w", stdout);
    int n, m, h;

    scanf ("%d%d%d", &n, &m, &h);
    for (int i = 1; i <= n; ++i)
        scanf ("%s", ch[i] + 1);
    for (int i = 1; i <= h; ++i)
        scanf ("%s", chx[i] + 1);
    for (int i = 1; i <= h; ++i)
        scanf ("%s", chy[i] + 1);

    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j)
            v[i][j] = (ch[i][j] == '#');
    for (int i = h; i; --i)
        for (int j = 1; j <= m; ++j)
            hx[i][j] = hx[i + 1][j] + (chx[i][j] == '#');
    for (int i = h; i; --i)
        for (int j = 1; j <= n; ++j)
            hy[i][j] = hy[i + 1][j] + (chy[i][j] == '#');

    for (int i = 1; i <= m; ++i)
        hc[i] = hx[1][i];
    for (int i = 1; i <= n; ++i)
        hl[i] = hy[1][i];

    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j)
            if (v[i][j])
                v[i][j] = min (hc[j], hl[n - i + 1]);

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= m; ++j)
            if (v[i][j])
                printf ("%d", v[i][j]);
            else
                printf (".");
        printf ("\n");
    }

    return 0;
}