#include <bits/stdc++.h>
using namespace std;
inline void Min(int &a, int b) {
  if (a > b) a = b;
}
char s1[55], s2[55];
vector<int> p1[55][26], p2[55][26];
vector<pair<int, int> > mp[26];
bool v[55][55][26];
int dp[55][55];
int main() {
  scanf("%s%s", s1, s2);
  int l1 = strlen(s1), l2 = strlen(s2);
  int m;
  scanf("%d", &m);
  while (m--) {
    char s[10];
    scanf("%s", s);
    mp[s[0] - 'a'].push_back(make_pair(s[3] - 'a', s[4] - 'a'));
  }
  for (int i = 0; i <= l1 - 1; i++) v[i][i][s1[i] - 'a'] = 1;
  for (int i = l1 - 2; i >= 0; i--)
    for (int j = i + 1; j <= l1 - 1; j++) {
      for (int k = i; k <= j - 1; k++)
        for (int p = 0; p <= 25; p++)
          for (int t = 0; t <= (int)mp[p].size() - 1; t++) {
            pair<int, int> tmp = mp[p][t];
            v[i][j][p] |= v[i][k][tmp.first] & v[k + 1][j][tmp.second];
          }
    }
  for (int i = 0; i <= l1 - 1; i++)
    for (int j = i; j <= l1 - 1; j++)
      for (int k = 0; k <= 25; k++)
        if (v[i][j][k]) p1[i][k].push_back(j);
  memset(v, 0, sizeof(v));
  for (int i = 0; i <= l2 - 1; i++) v[i][i][s2[i] - 'a'] = 1;
  for (int i = l2 - 2; i >= 0; i--)
    for (int j = i + 1; j <= l2 - 1; j++) {
      for (int k = i; k <= j - 1; k++)
        for (int p = 0; p <= 25; p++)
          for (int t = 0; t <= (int)mp[p].size() - 1; t++) {
            pair<int, int> tmp = mp[p][t];
            v[i][j][p] |= v[i][k][tmp.first] & v[k + 1][j][tmp.second];
          }
    }
  for (int i = 0; i <= l2 - 1; i++)
    for (int j = i; j <= l2 - 1; j++)
      for (int k = 0; k <= 25; k++)
        if (v[i][j][k]) p2[i][k].push_back(j);
  memset(dp, 0x7f, sizeof(dp));
  dp[0][0] = 0;
  for (int i = 0; i <= l1 - 1; i++)
    for (int j = 0; j <= l2 - 1; j++) {
      for (int p = 0; p <= 25; p++)
        for (int k1 = 0; k1 <= (int)p1[i][p].size() - 1; k1++)
          for (int k2 = 0; k2 <= (int)p2[j][p].size() - 1; k2++)
            Min(dp[p1[i][p][k1] + 1][p2[j][p][k2] + 1], dp[i][j] + 1);
    }
  printf("%d\n", dp[l1][l2] == 0x7f7f7f7f ? -1 : dp[l1][l2]);
  return 0;
}
