import java.util.*;
import java.io.*;
public class Main {
static final int MOD = 998244353;
char[] s = br.readLine().trim().toCharArray();
int m
= Integer.
parseInt(br.
readLine().
trim()); int len = s.length;
int[] must = new int[len];
for (int i = 0; i < m; i++) {
String[] parts
= br.
readLine().
split(" "); int p
= Integer.
parseInt(parts
[0]); int o
= Integer.
parseInt(parts
[1]); if (p < len) {
must[len - 1 - p] = o;
}
}
long[][][] dp = new long[len + 1][2][2];
dp[0][1][0] = 1;
for (int i = 0; i < len; i++) {
for (int tight = 0; tight < 2; tight++) {
for (int has = 0; has < 2; has++) {
if (dp[i][tight][has] == 0) continue;
int maxDigit = (tight == 1) ? (s[i] - '0') : 1;
for (int d = 0; d <= maxDigit; d++) {
if (must[i] != -1 && d != must[i]) continue;
int newTight = (tight == 1 && d == maxDigit) ? 1 : 0;
int newHas = (has == 1 || d == 1) ? 1 : 0;
dp[i + 1][newTight][newHas] = (dp[i + 1][newTight][newHas] + dp[i][tight][has]) % MOD;
}
}
}
}
long ans = 0;
for (int tight = 0; tight < 2; tight++) {
for (int has = 0; has < 2; has++) {
ans = (ans + dp[len][tight][has]) % MOD;
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgc3RhdGljIGZpbmFsIGludCBNT0QgPSA5OTgyNDQzNTM7CiAgICBzdGF0aWMgQnVmZmVyZWRSZWFkZXIgYnIgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgc3RhdGljIFN0cmluZ1Rva2VuaXplciB0b2tlbml6ZXI7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7CiAgICAgICAgY2hhcltdIHMgPSBici5yZWFkTGluZSgpLnRyaW0oKS50b0NoYXJBcnJheSgpOwogICAgICAgIGludCBtID0gSW50ZWdlci5wYXJzZUludChici5yZWFkTGluZSgpLnRyaW0oKSk7CiAgICAgICAgaW50IGxlbiA9IHMubGVuZ3RoOwogICAgICAgIGludFtdIG11c3QgPSBuZXcgaW50W2xlbl07CiAgICAgICAgQXJyYXlzLmZpbGwobXVzdCwgLTEpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CiAgICAgICAgICAgIFN0cmluZ1tdIHBhcnRzID0gYnIucmVhZExpbmUoKS5zcGxpdCgiICIpOwogICAgICAgICAgICBpbnQgcCA9IEludGVnZXIucGFyc2VJbnQocGFydHNbMF0pOwogICAgICAgICAgICBpbnQgbyA9IEludGVnZXIucGFyc2VJbnQocGFydHNbMV0pOwogICAgICAgICAgICBpZiAocCA8IGxlbikgewogICAgICAgICAgICAgICAgbXVzdFtsZW4gLSAxIC0gcF0gPSBvOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBsb25nW11bXVtdIGRwID0gbmV3IGxvbmdbbGVuICsgMV1bMl1bMl07CiAgICAgICAgZHBbMF1bMV1bMF0gPSAxOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgdGlnaHQgPSAwOyB0aWdodCA8IDI7IHRpZ2h0KyspIHsKICAgICAgICAgICAgICAgIGZvciAoaW50IGhhcyA9IDA7IGhhcyA8IDI7IGhhcysrKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRwW2ldW3RpZ2h0XVtoYXNdID09IDApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGludCBtYXhEaWdpdCA9ICh0aWdodCA9PSAxKSA/IChzW2ldIC0gJzAnKSA6IDE7CiAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgZCA9IDA7IGQgPD0gbWF4RGlnaXQ7IGQrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobXVzdFtpXSAhPSAtMSAmJiBkICE9IG11c3RbaV0pIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmV3VGlnaHQgPSAodGlnaHQgPT0gMSAmJiBkID09IG1heERpZ2l0KSA/IDEgOiAwOwogICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmV3SGFzID0gKGhhcyA9PSAxIHx8IGQgPT0gMSkgPyAxIDogMDsKICAgICAgICAgICAgICAgICAgICAgICAgZHBbaSArIDFdW25ld1RpZ2h0XVtuZXdIYXNdID0gKGRwW2kgKyAxXVtuZXdUaWdodF1bbmV3SGFzXSArIGRwW2ldW3RpZ2h0XVtoYXNdKSAlIE1PRDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbG9uZyBhbnMgPSAwOwogICAgICAgIGZvciAoaW50IHRpZ2h0ID0gMDsgdGlnaHQgPCAyOyB0aWdodCsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGhhcyA9IDA7IGhhcyA8IDI7IGhhcysrKSB7CiAgICAgICAgICAgICAgICBhbnMgPSAoYW5zICsgZHBbbGVuXVt0aWdodF1baGFzXSkgJSBNT0Q7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CiAgICB9Cn0=