#include<bits/stdc++.h>
using namespace std;
string yuan[10],xian[10];
string a,b;
int cnt=1;
struct node{
string data;
int step;
};
queue<node> que;
void bfs(){
que.push({a,0});
while(!que.empty()){
node f=que.front();que.pop();
if(f.step>10){
cout<<"NO ANSWER!";
return;
}
if(f.data==b){
cout<<f.step;
return;
}
for(int i=1;i<=cnt;i++){
string tmp=f.data;
int pos=tmp.find(yuan[i]);
if(pos==string::npos)continue;
tmp.erase(pos,yuan[i].size());
tmp.insert(pos,xian[i]);
que.push({tmp,f.step+1});
}
}
return;
}
int main(){
cin>>a>>b;
while(cin>>yuan[cnt]>>xian[cnt])cnt++;
cnt--;
bfs();
return 0;
}