#include <iostream>
#include<string>
#include<queue>
using namespace std;
string a, b;
string x[7][2];
int l=1;
struct point
{
string a;
int sum;
};
queue<point> p;
int s;
int main()
{
// cin >> l;
cin >> a >> b;
while (cin >> x[l][0] >> x[l][1])l++;
l--;
/* for (int i = 1;i <= l;i++)
cin >> x[i][0] >> x[i][1];*/
p.push({ a,0 });
while (p.size())
{
if (p.front().sum > 10)
{
p.pop();
continue;
}
if (p.front().a == b)
{
cout << p.front().sum;
s = 1;
break;
}
for (int i = 1;i <= l;i++)
{
string p1 = p.front().a;
if (p1.find(x[i][0])!=-1)
{
int locate = p1.find(x[i][0]);
p1.replace(locate, x[i][0].size(), x[i][1]);
p.push({ p1,p.front().sum + 1 });
}
}
p.pop();
}
if(s!=1)
cout << "NO ANSWER!";
}