#include <bits/stdc++.h>
using namespace std;
queue <string> que;
map <string, int> flag;
int k, ans;
string str, bf;
char x[100005], y[100005];
void search(int wz) {
for (int i = 1; i <= k; ++i) {
bf = str;
if (bf[wz] == x[i]) {
bf[wz] = y[i];
if (flag[bf] == 0) {
que.push(bf);
flag[bf] = 1;
++ans;
}
}
}
}
int main() {
cin >> str >> k;
que.push(str);
ans = 1;
flag[str] = 1;
for (int i = 1; i <= k; ++i) cin >> x[i] >> y[i];
while (que.empty() == 0) {
str = que.front();
for (int i = 0; i <= str.size(); ++i)
search(i);
que.pop();
}
cout << ans;
return 0;
}