#include<bits/stdc++.h>
using namespace std;
int a[11][20]/*原数 长度 值:目标数*/,l[11],cnt[50][11];//变化 长度 计数
int ans=0;
void dfs(string s,int n){
//cout<<s<<' '<<n<<endl;
ans++;
int len=s.size();
for(int i=n;i<len;i++){
int x=s[i]-'0';
for(int j=1;j<=l[x];j++){
int y=a[x][j];
if(!cnt[i][y]){//48 0
cnt[i][y]=1;
s[i]=char(y+48);
dfs(s,i);
cnt[i][y]=0;
s[i]=char(x+48);
}
}
}
return ;
}
int main(){
string s;
int k;
cin>>s>>k;
int len=s.size();
for(int i=0;i<len;i++){
cnt[i][s[i]-'0']=1;
}
for(int i=1;i<=k;i++){
int x,y;
cin>>x>>y;
a[x][++l[x]]=y;
}
dfs(s,0);
cout<<ans<<endl;
}