#include<bits/stdc++.h>
using namespace std;
string a,b;
string ta[10],tb[10];
struct node{
string s;
int cnt;
}q[2000005];
int main(){
cin>>a>>b;
int n=1;
while(cin>>ta[n]>>tb[n++]){}
n--;
int l=0,r=1;
q[r].s=a;
q[r].cnt=0;
while(r>l){
l++;
if(q[l].cnt>10){
cout<<"NO ANSWER!";
return 0;
}
for(int j=1;j<=n;j++){
int i=q[l].s.find(ta[j],0);
while(1){
if(i==-1) break;
else{
r++;
q[r].s=q[l].s;
q[r].cnt=q[l].cnt+1;
q[r].s.replace(i,ta[j].size(),tb[j]);
if(q[r].s==b){
cout<<q[r].cnt;
return 0;
}
i=q[l].s.find(ta[j],i+1);
}
}
}
}
return 0;
}