#include <bits/stdc++.h>
using namespace std;
int jilu[105][105],changdu[105];
long long num = 0;
int ans[105];
void dfs(int a){
for(int i = 1;i <= changdu[a];i ++){
num ++;
if(changdu[jilu[a][i]]){
dfs(jilu[a][i]);
}
}
}
void cheng(int yy){
int fw = 0;
for(int i = 30;i >= 1;i --){
ans[i] = ans[i] * yy + fw;
fw = ans[i] / 10;
ans[i] %= 10;
}
}
int main(){
ans[30] = 1;
string s;
int k;
cin >> s >> k;
for(int i = 1;i <= k;i ++){
int a,b;
cin >> a >> b;
jilu[a][++ changdu[a]] = b;
}
for(int i = 0;i < s.size();i ++){
num = 1;
int c = s[i] - '0';
dfs(c);
cheng(num);
}
int len = 1;
while(ans[len] == 0){
len ++;
}
for(int i = len;i <= 30;i ++){
cout << ans[i];
}
return 0;
}