#include <bits/stdc++.h>
using namespace std;
int a[51], b[51];
int al, bl;
vector<pair<int, int> > sub[26];
int adp[26][51][51], bdp[26][51][51];
bool getdp(int targ, int l, int r, int ar[51], int dp[26][51][51]) {
  if (l + 1 == r && ar[l] == targ) {
    return true;
  }
  int &res = dp[targ][l][r];
  if (res != -1) return res;
  for (int i = 0, _i = (r - l - 1); i < _i; i++) {
    int x = l + i + 1;
    for (int j = 0, _j = (sub[targ].size()); j < _j; j++) {
      int a = sub[targ][j].first;
      int b = sub[targ][j].second;
      if (getdp(a, l, x, ar, dp) && getdp(b, x, r, ar, dp)) {
        return res = true;
      }
    }
  }
  return res = false;
}
int acomp[51][51], bcomp[51][51];
int fdp[51][51];
int main() {
  memset(adp, -1, sizeof(adp));
  memset(bdp, -1, sizeof(bdp));
  string as, bs;
  cin >> as >> bs;
  al = as.size();
  bl = bs.size();
  for (int i = 0, _i = (al); i < _i; i++) a[i] = as[i] - 'a';
  for (int i = 0, _i = (bl); i < _i; i++) b[i] = bs[i] - 'a';
  int n;
  cin >> n;
  for (int i = 0, _i = (n); i < _i; i++) {
    string s;
    cin >> s;
    sub[s[0] - 'a'].push_back(pair<int, int>(s[3] - 'a', s[4] - 'a'));
  }
  for (int i = 0, _i = (26); i < _i; i++) {
    for (int k = 0, _k = (al + 1); k < _k; k++) {
      for (int j = 0, _j = (k); j < _j; j++) {
        if (getdp(i, j, k, a, adp)) {
          acomp[j][k] |= 1 << i;
        }
      }
    }
    for (int k = 0, _k = (bl + 1); k < _k; k++) {
      for (int j = 0, _j = (k); j < _j; j++) {
        if (getdp(i, j, k, b, bdp)) {
          bcomp[j][k] |= 1 << i;
        }
      }
    }
  }
  memset(fdp, 31, sizeof(fdp));
  fdp[0][0] = 0;
  for (int b = 0, _b = (al + 1); b < _b; b++) {
    for (int d = 0, _d = (bl + 1); d < _d; d++) {
      for (int a = 0, _a = (b); a < _a; a++) {
        for (int c = 0, _c = (d); c < _c; c++) {
          if (acomp[a][b] & bcomp[c][d]) {
            fdp[b][d] = min(fdp[b][d], fdp[a][c] + 1);
          }
        }
      }
    }
  }
  if (fdp[al][bl] > al) {
    cout << -1;
  } else {
    cout << fdp[al][bl];
  }
}
