#include <stdio.h>

int main()
{
	int M, N, x1, x2, y1, y2, i, j, x11 = 0, y11 = 0, movX, movY;
	char tmp, S;
	char sil1[1000][1000], sil2[1000][1000], sil3[1000][1000];

	while(1)
	{
		x1 = 1000; y1 = 1000; x2 = 0; y2 = 0;
	
		scanf("%d %d '%c'", &M, &N, &S);

		if (M == 0 && N == 0 && S == ' ') break;

		getchar();
		for (i = 0; i < M; ++i)
		{
			for (j = 0; j < N; ++j)
			{
				scanf("%c", &tmp);
				sil1[i][j] = tmp;		
				if (tmp == S)
				{
					if (i < x11) x11 = i;
					if (j < y11) y11 = j;
				}
			}

			getchar();
		}
		
		getchar();

		for (i = 0; i < M; ++i)
		{
			for (j = 0; j < N; ++j)
			{
				scanf("%c", &tmp);
				sil2[i][j] = tmp;		

				if (tmp == S)
				{
					if (i < x1) x1 = i;
					if (i > x2) x2 = i;
					if (j < y1) y1 = j;
					if (j > y2) y2 = j;

					sil3[i][j] = sil1[i][j];	
				}
				else
				{
					sil3[i][j] = tmp;	
				}
			}

			getchar();
		}

		movX = x11 - x1;
		movY = y11 - y1;

		for (i = x1; i < movX; i++)
		{
			for (j = y1; j < movY; j++)
			{
				if (sil2[i][j] == S)
				{
					if (i + movX > M || i + movX < 0 || j + movY > N || j + movY < 0) continue;
					sil3[i + movX][j + movY] = S;
				}
			}
		}

		for (i = 0; i < M; ++i)
		{
			for (j = 0; j < N; ++j)
			{
				printf("%c", sil3[i][j]);
			}
	
			putchar('\n');
		}
		putchar('\n');
	}		

	return 0;
}