rt
#include<bits/stdc++.h>
using namespace std;
int n;
int find(string a,string b){
bool flag=1;
if(a.size()>b.size())swap(a,b);
for(int i=0;i<=b.size()-a.size();i++){
flag=1;
if(b[i]==a[0]){
for(int j=1;j<=a.size();j++){
if(b[i+j]!=a[j]){
flag=0;
break;
}
}
if(flag)return i;
}
}
return -1;
}
map<string ,bool> bl;
pair<string,string> d[80];
queue<pair<string,int> >q;
int bfs(string a,string b){
q.push(make_pair(a,0));
while(q.front().first!=b&&q.front().second<=10&&!q.empty()){
string c=q.front().first;
int d_=q.front().second;
q.pop();
if(bl[c])continue;
bl[c]=1;
for(int i=1;i<=n;i++){
if(c.size()>d[i].first.size()){
int x=find(c,d[i].first);
if(x!=-1){
string l="";
for(int j=0;j<c.size();j++){
if(j<x)l+=c[i];
if(j>=x&&j<x+d[j].second.size()){
l+=d[j].second;
j+=d[j].first.size();
}
else{
l+=c[j];
}
}
q.push(make_pair(l,d_+1));
}
}
}
}
if(q.front().first==b)return q.front().second;
return -1;
}
int main(){
// freopen("p3.in","r",stdin);
// freopen("p3.out","w",stdout); 用的vscode终端输入不了^Z
string a,b;
cin>>a>>b;
string c,e;
while(cin>>c>>e){
d[n].first=c,d[n++].second=e;
}
int bf=bfs(a,b);
if(bf!=-1){
cout<<b;
}
else cout<<"NO ANSWER!";
}