#include<bits/stdc++.h>
using namespace std;
string n;
long long a[400];
long long x[150],y[150];
void write1(__int128 x)
{
if(x>9)
write1(x/10);
putchar(x%10+'0');
return;
}
int main()
{
cin>>n;__int128 ans=1;
long long n2=n.size();
for(long long i=0;i<n.size();i++)
{
a[i+1]=n[i]-'0';
}
long long k;
cin>>k;
for(long long i=1;i<=k;i++)
{
cin>>x[i]>>y[i];
}
long long b[400];
for(long long i=1;i<=400;i++)
{
b[i]=1;
}
for(long long i=1;i<=400;i++)
{
bool c[11]={0};c[a[i]]=1;
for(long long j=1;j<=k;j++)
{
for(long long l=0;l<=10;l++)
{
if(c[l]==1&&l==x[j])
{
if(c[y[j]]==0)b[i]++;
c[y[j]]=1;
}
}
}
}
for(long long i=1;i<=400;i++)
{
ans*=b[i];
}
write1(ans);
return 0;
}