#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define forn(i,n) for(int i=0;i using namespace std; char str[100005]; int hs[100005]; int mod = 9973; void gcdex(int a,int b,int &g,int &x,int &y){ if (!b){ g = a; x = 1; y = 0; } else{ gcdex(b, a%b, g, y, x); y -= a / b*x; } } int sdiv(int u,int v){ //v*x+mody=1 int g, x, y; gcdex(v, mod, g, x, y); return ((ll)u*x%mod + mod) % mod; } void solve(int n){ scanf("%s", str); int len = strlen(str); hs[0] = 1; for (int i = 0; i < len; ++i){ hs[i + 1] = hs[i] * (str[i] - 28) % mod; } for (int t = 0; t < n; ++t){ int lf, rg; scanf("%d%d", &lf, &rg); printf("%d\n", sdiv(hs[rg], hs[lf - 1])); } } int main(int argc,char *argv[]){ //freopen("topo2.csv", "r", stdin); int n; while (cin >> n) solve(n); return 0; }