#include <bits/stdc++.h>
using namespace std;
const int N = 100;
string A[N], B[N]; 
int cnt;
string st, ed;
int extend_a(queue<string>& q, unordered_map<string, int>& dis)
{
   
    
    string t = q.front();
    q.pop();
    int d = dis[t];
    for (int i = 0; i < t.length(); i++) {
     
        for (int j = 0; j < cnt; j++) {
   
            if (t.substr(i, A[j].length()) == A[j]) {
   
                string ns = t.substr(0, i) + B[j] + t.substr(i + A[j].length());
                if (dis.count(ns) == 0) {
   
                    q.push(ns);
                    dis[ns] = dis[t] + 1;
                    d = dis[ns];
                }
            }
        }
    }
    return d;
}
int extend_b(queue<string>& q, unordered_map<string, int>& dis)
{
   
    string t = q.front();
    q.pop();
    int d = dis[t];
    for (int i = 0; i < t.length(); i++) {
     
        for (int j = 0; j < cnt; j++) {
   
            if (t.substr(i, B[j].length()) == B[j]) {
   
                string ns = t.substr(0, i) + A[j] + t.substr(i + B[j].length());
                if (dis.count(ns) == 0) {
   
                    q.push(ns);
                    dis[ns] = dis[t] + 1;
                    d = dis[ns];
                }
            }
        }
    }
    return d;
}
int bfs() 
{
   
    
    unordered_map<string, int> dis_a, dis_b;   
    queue<string> qa, qb;
    qa.push(st); qb.push(ed);
    dis_a[st] = dis_b[ed] = 0;
    int da = 0, db = 0;          
    while (!qa.empty() and !qb.empty() and (da + db <= 10) ) {
   
        if (dis_b.count(qa.front())) {
   
            
            return dis_a[qa.front()] + dis_b[qa.front()];
        }
        if (dis_a.count(qb.front())) {
   
            
            return dis_a[qb.front()] + dis_b[qb.front()];
        }
        if (da < db) {
   
            da = extend_a(qa, dis_a);
        }
        else {
   
            db = extend_b(qb, dis_b);
        }
        
    }
    return 11;
}
int main() 
{
   
#ifndef ONLINE_JUDGE
    freopen("D:/VS CODE/C++/in.txt", "r", stdin);
    freopen("D:/VS CODE/C++/out.txt", "w", stdout);
#endif
    cin >> st >> ed;
    while (cin >> A[cnt] >> B[cnt]) {
   
        ++cnt;
    }
    if (st == ed) {
   
        printf("0");
    }
    int ans = bfs();
    if (ans > 10) {
   
        printf("NO ANSWER!");
    }
    else {
   
        printf("%d", ans);
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}