#include <iostream>
#include <vector>
#include <string>
#include <sstream>

using namespace std;

struct Point
{
    int x;
    int y;

    Point(int x, int y) : x(x), y(y) {}
};

void print(vector<string>& vect)
{
    for (size_t i = 0; i < vect.size(); i++)
    {
        cout << vect[i] << endl;
    }
}
void print(Point point)
{
    cout << "[" << point.x << "," << point.y << "]" << endl;
}


Point find_left(vector<string>& vect, char x)
{
    for (int i = 0; i < vect.size(); i++)
    {
        for (int j = 0; j < vect[i].size(); j++)
        {
            if (vect[i][j] == x)
            {
                return Point(j, i);
            }
        }
    }
}

bool is_valid(int x, int y, int width, int height)
{
    return x >= 0 && y >= 0 && x < width && y < height;
}

int main()
{
    vector<string> A;
    vector<string> B;
    vector<string> C;

    string line;

    while (getline(cin, line))
    {
        A.clear();
        B.clear();
        C.clear();

        stringstream ss(line);
        int m, n;
        ss >> m >> n;
        string ascii;
        ss >> ascii;

        char x = ascii[1];

        if (m == 0 && n == 0) break;

        for (int i = 0; i < m; i++)
        {
            getline(cin, line);
            A.push_back(line);
            C.push_back(line);
        }

        getline(cin, line);

        for (int i = 0; i < m; i++)
        {
            getline(cin, line);
            B.push_back(line);
        }
        Point aLeft = find_left(A, x);
        Point bLeft = find_left(B, x);

        int horOffset = bLeft.x - aLeft.x;
        int verOffset = bLeft.y - aLeft.y;

        //cout << horOffset << " " << verOffset << endl;

        for (size_t i = 0; i < m; i++)
        {
            for (size_t j = 0; j < n; j++)
            {
                int origOffsetX = j - horOffset;
                int origOffsetY = i - verOffset;

                //cout << origOffsetX << " " << origOffsetY << endl;

                if (is_valid(origOffsetX, origOffsetY, n, m) && B[origOffsetY][origOffsetX] == x)
                {
                    C[i][j] = x;
                }
                else if (B[i][j] == x)
                {
                    C[i][j] = A[i][j];
                }
                else C[i][j] = B[i][j];
            }
        }

        print(C);
        cout << endl;

        getline(cin, line);
    }

    return 0;
}