#include <iostream>
#include <string.h>
#include <stdio.h>
#include <map>
#include <cstring>
#include <stdlib.h>
#include <vector>
using namespace std;
int n;
int main()
{
char c[300];
char str[300];
char sum[21][100];
while(~scanf("%d",&n) && n)
{
getchar();
char *pos;
memset(sum, 0, sizeof(sum));
memset(c, 0, sizeof(c));
for( int i = 0; i<2*n; i++)
gets(sum[i]);
gets(str);
for( int i = 0; i < 2*n; i += 2)
{
int len = strlen(sum[i]);
while( 1 )
{
pos = strstr(str,sum[i]);
if(pos == NULL )
break;
sprintf(c,"%s",pos + len);
sprintf( pos ,"%s", sum[i+1]);
sprintf(pos + strlen(sum[i+1]), "%s", c);
}
}
cout<<str<<endl;
}
}
#include <string.h>
#include <stdio.h>
#include <map>
#include <cstring>
#include <stdlib.h>
#include <vector>
using namespace std;
int n;
int main()
{
char c[300];
char str[300];
char sum[21][100];
while(~scanf("%d",&n) && n)
{
getchar();
char *pos;
memset(sum, 0, sizeof(sum));
memset(c, 0, sizeof(c));
for( int i = 0; i<2*n; i++)
gets(sum[i]);
gets(str);
for( int i = 0; i < 2*n; i += 2)
{
int len = strlen(sum[i]);
while( 1 )
{
pos = strstr(str,sum[i]);
if(pos == NULL )
break;
sprintf(c,"%s",pos + len);
sprintf( pos ,"%s", sum[i+1]);
sprintf(pos + strlen(sum[i+1]), "%s", c);
}
}
cout<<str<<endl;
}
}