#include #include #include #include #include #include #define MOD 9973 const int maxn = 100005; int a[maxn], b[maxn]; char s[maxn]; inline int fpm(int b, int e, int m) { int t = 1; for (; e; e >>= 1, (b *= b) %= m) { if (e & 1) (t *= b) %= m; } return t; } int inv[MOD]; void init() { for (int i = 1; i <= MOD; ++i) { inv[i] = fpm(i, MOD - 2, MOD); } } int main() { int n; init(); while(scanf("%d", &n)== 1) { scanf("%s", s + 1); a[0] = b[0] = 1; int len = strlen(s + 1); for (int i = 1; i <= len; i++) { a[i] = a[i - 1] * (s[i] - 28) % MOD; b[i] = inv[a[i]]; } while(n--) { int l, r; scanf("%d%d", &l, &r); printf("%d\n", a[r] * b[l - 1] % MOD); } } return 0; }