// Created on 2026-03-02 14:49:22
#include<bits/stdc++.h>
using ll = long long;
using ull = unsigned long long;
using namespace std;

const int MOD = 10007;

void solve() { 
  string s;
  cin >> s;

  int n = s.size();
  auto a = vector(10, set<int>());

  for (int i = 0; i < 10; i++) {
    a[i].insert(i);
  }

  int m;
  cin >> m;

  while (m--) {
    int l, r;
    cin >> l >> r;

    for (auto i : a[r]) {
      a[l].insert(i);
    }
  }

  int ans = 1;
  for (int i = 0; i < n; i++) {
    ans = ans * a[s[i] - '0'].size() % MOD;
  }

  cout << ans << '\n';
}
  
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  
  int t = 1;
  // cin >> t;
  
  while (t--) {
    solve();
  }
}