#include #include #include #include #include #include #include #include #include #include using namespace std; const int mod = 9973; const int maxn = 1e5 + 5; int h[maxn], invh[maxn]; char s[maxn]; int pow_mod(int x, int n) { int ret = 1; while(n) { if(n & 1) ret = ret * x % mod; x = x * x % mod; n >>= 1; } return ret; } int main() { int q; while(~scanf("%d", &q)) { h[0] = invh[0] = 1; scanf("%s", s + 1); int n = strlen(s + 1); for(int i = 1; i <= n; ++i) { h[i] = h[i - 1] * (s[i] - 28 + mod) % mod; invh[i] = pow_mod(h[i], mod - 2); } while(q--) { int l, r; scanf("%d%d", &l, &r); printf("%d\n", invh[l - 1] * h[r] % mod); } } return 0; }