#include <cstdio>
#include <cstring>
#include<vector>
#include<string>
#include<set>
#include<algorithm>
#include<iostream>
using namespace std;

vector<long long>velocity;
vector<long long>starting_point;


int main(void)
{

int n, m;
string slovo;
cin>>n>>m>>slovo;
//cout<<slovo<<" s"<<endl;
while(n!=0){
    char c = slovo[1];

    int prveX = -1; int prveY = -1; int delta_x = -10000; int delta_y = -10000;
    vector<string> mapa(n);
    vector<string> mapa_nova(n);
    for(int i = 0; i< n; i++){
        cin>>slovo;
        for(int j = 0; j < m; j++){
            if(prveX == -1 && slovo[j] == c){
                prveX = i;
                prveY = j;
            }
        }
        mapa[i] = slovo;
    }

    for(int i = 0; i< n; i++){
        cin>>slovo;
        for(int j = 0; j < m; j++){
            if(delta_x == -10000 && slovo[j] == c){
                delta_x = i - prveX;
                delta_y = j - prveY;
            }
        }
        mapa_nova[i] = slovo;
    }
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            if(mapa_nova[i][j]==c){
                mapa_nova[i][j]=mapa[i][j];
            }
        }
    }
    delta_x*=2;
    delta_y*=2;
    //cout<<delta_x<<" " <<delta_y<<endl<<" "<<c<<endl;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            if(mapa[i][j] == c && i+delta_x < n && i+delta_x>=0 && j+delta_y < m && j+delta_y >= 0){
                mapa_nova[i+delta_x][j+delta_y] = c;
            }
        }
    }

    for(int i = 0; i < n; i++){
        cout<<mapa_nova[i]<<endl;
    }
    cout<<endl;

    cin>>n>>m>>slovo;
}

}

/*
'X' s
0 2
 X
.^
--

0 2
 A
BBBBBBBBBBBC
BBBABABABABA
BBABABABABAB

-2 22
 >
../||\........OO......\|/.
.//||\\.....OOOOOO....-0>.
///||\\\....OOOOOO..../|\.
...||........OOOO.........
...||.........||..........
||||||||||||||||||||||||||
*/