#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string,string> m[15];
string a,b;
int x,t,ans=114514;
void dfs(string now,int k){
if(k>10)return;
if(now==b){
ans=min(ans,k);
return;
}
string s2;
for(int j=0;j<=x;j++){
for(auto i=m[j].begin();i!=m[j].end();i++){
int pos=now.find(i->first);
if(pos!=string::npos){
s2=now;
s2.replace(pos,(i->first).size(),i->second);
dfs(s2,k+1);
}
}
}
}
int main(){
string ai,bi;
cin>>a>>b;
while(cin>>ai>>bi){
if(m[t].count(ai)){
x++;
m[++t][ai]=bi;
t--;
}else{
m[t][ai]=bi;
}
}
dfs(a,0);
if(ans==114514){
cout<<"NO ANSWER!";
}else{
cout<<ans;
}
return 0;
}