

1 #include<bits/stdc++.h>
2 using namespace std;
3
4 const int N=110;
5 string a[N],b[N],c[N];
6
7 int main()
8 {
9 //freopen("a.in","r",stdin);
10 int n,m;
11 scanf("%d%d",&n,&m);getline(cin,a[0]);
12 for(int i=1;i<=n;i++) getline(cin,a[i]);
13 string s;
14 for(int i=1;i<=m;i++)
15 {
16 getline(cin,s);
17 int j=0;
18 b[i]="{{ ";
19 for(j=0;j<s.size();j++)
20 {
21 if(s[j]==' ') {j+=2;break;}
22 b[i]+=s[j];
23 }
24 b[i]+=" }}";
25 c[i]="";
26 for(;j<s.size()-1;j++) c[i]+=s[j];
27 }
28 // for(int i=1;i<=n;i++)
29 // cout << b[i] << ' ' << c[i] << endl;
30 for(int i=1;i<=n;i++)
31 {
32 string token="";
33 for(int j=0;j<a[i].size();j++)
34 {
35 bool ok=0;
36 if(j+1<a[i].size() && a[i][j]=='{' && a[i][j+1]=='{')
37 {
38 for(int k=1;k<=m;k++)
39 {
40 if(a[i].compare(j,b[k].size(),b[k])==0)
41 {
42 ok=1;
43 j+=b[k].size()-1;
44 token+=c[k];
45 break;
46 }
47 }
48 if(!ok)
49 {
50 for(int k=j+3;k<a[i].size();k++)
51 if(a[i][k]=='}' && a[i][k-1]=='}' && a[i][k-2]==' ') {j=k;ok=1;break;}
52 }
53 }
54 if(!ok) token+=a[i][j];
55 }
56 cout << token << endl;
57 }
58 return 0;
59 }