#include<iostream>
#include<string>
#include<cstring>
#include<cstdlib>
#include<cstdio>
using namespace std;
bool match(char a[],string b,int len1,int len2)
{
int i;
if(len1!=len2)
return false;
for(i=0;i<len1;i++)
{
if(a[i]!=b[i])
return false;
}
return true;
}
int main()
{
int t,n,m,i,j,s=0;
string a,b[105],c[105];
char d[105][105];
//char e[105][200];
string s1,s2;
cin>>t;
while(t--)
{
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
//memset(e,0,sizeof(e));
cin>>n>>m;
for(i=0;i<m;i++)
{
cin>>s1>>s2;
b[i]=s1;
c[i]=s2;
//getchar();
}
getchar();
getline(cin,a);
//cout<<a.length()<<endl;
//getchar();
int k=0,f=0;
//d=a;
for(i=0;i<(int)a.length();i++)
{
if(a[i]==' ')
{
k++;
f=0;
//continue;
}
if(a[i]!=' ')
{
d[k][f]=a[i];
// e[k][f]=a[i];
f++;
}
}
int num=k+1;
int yy=0;
while(++yy<n)
{
for(i=0;i<num;i++)
{
for(j=0;j<m;j++)
{
if(match(d[i],b[j],strlen(d[i]),b[j].length()))
{
//memset(d[i],0,sizeof(d));
int ss;
for(ss=0;ss<(int)c[j].length();ss++)
{
// e[i][ss]=c[j][ss];
d[i][ss]=c[j][ss];
}
d[i][c[j].length()]='\0';
break;
}
}
}
}
cout<<"Case #"<<++s<<": ";
for(i=0;i<num-1;i++)
cout<<d[i]<<" ";
cout<<d[num-1]<<endl;
}
return 0;
}
#include<string>
#include<cstring>
#include<cstdlib>
#include<cstdio>
using namespace std;
bool match(char a[],string b,int len1,int len2)
{
int i;
if(len1!=len2)
return false;
for(i=0;i<len1;i++)
{
if(a[i]!=b[i])
return false;
}
return true;
}
int main()
{
int t,n,m,i,j,s=0;
string a,b[105],c[105];
char d[105][105];
//char e[105][200];
string s1,s2;
cin>>t;
while(t--)
{
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
//memset(e,0,sizeof(e));
cin>>n>>m;
for(i=0;i<m;i++)
{
cin>>s1>>s2;
b[i]=s1;
c[i]=s2;
//getchar();
}
getchar();
getline(cin,a);
//cout<<a.length()<<endl;
//getchar();
int k=0,f=0;
//d=a;
for(i=0;i<(int)a.length();i++)
{
if(a[i]==' ')
{
k++;
f=0;
//continue;
}
if(a[i]!=' ')
{
d[k][f]=a[i];
// e[k][f]=a[i];
f++;
}
}
int num=k+1;
int yy=0;
while(++yy<n)
{
for(i=0;i<num;i++)
{
for(j=0;j<m;j++)
{
if(match(d[i],b[j],strlen(d[i]),b[j].length()))
{
//memset(d[i],0,sizeof(d));
int ss;
for(ss=0;ss<(int)c[j].length();ss++)
{
// e[i][ss]=c[j][ss];
d[i][ss]=c[j][ss];
}
d[i][c[j].length()]='\0';
break;
}
}
}
}
cout<<"Case #"<<++s<<": ";
for(i=0;i<num-1;i++)
cout<<d[i]<<" ";
cout<<d[num-1]<<endl;
}
return 0;
}