#include <bits/stdc++.h>

#define LN "\n"
#define FOR(i,n) for(int i=0; i<int(n);i++)
#define ROF(i,n) for(int i=int(n)-1; i>=0;i--)
#define X first
#define Y second
#define MP make_pair

using namespace std;

typedef pair<int,int> pii; 

int m, n;

bool is_in(int i, int j) {
	if (i < 0  || i >= m) return 0;
	if (j < 0  || j >= n) return 0;
	return 1;
}

bool is_in(int i, int j, int i2, int j2) {
	return is_in(i,j) && is_in(i2,j2);
}

int main() {
	//io_base::sync_with_stdio(false);
	
	cin >> m >> n;
	while (m && n) {
		char fi = 0;
		string s; cin >> s;
		FOR (i, s.size()) {
			if (s[i] == 39) {
				fi = s[i+1];
				break;
			}
		}
	    
	    
	    
	    vector<string> ma(n, string()), ma2=ma;
	    pii st, nd;

	    FOR (i, m) {
	    	cin >> ma[i];
	    	FOR (j, n) {
				if (ma[i][j]==fi) {
					st = MP(i,j);
				}
	    	}
	    }
	    FOR (i, m) {
	    	cin >> ma2[i];
	    	FOR (j, n) {
				if (ma2[i][j]==fi) {
					nd = MP(i,j);
					ma2[i][j] = ma[i][j];
				}
	    	}
	    }	  
	    
   	    
	    //cout << fi<< LN;
	    
	    nd.X -= st.X; nd.X *= 2;
	    nd.Y -= st.Y; nd.Y *= 2;
	       
	    FOR (i,m) FOR (j,n) {
	    	if (ma[i][j]==fi) {
	    		if (is_in(i+nd.X, j+nd.Y))
				ma2[i+nd.X][j+nd.Y] = fi;
	    	}
	    	
	    }	    
	    FOR (i, m) {
	    	cout << ma2[i] << LN;
	    }		    
	    
	    
	    
		cin >> m >> n;
	}

	return 0;
}