#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define ull unsigned ll #define rep0(i,n) for (i = 0;i<(n);i++) #define rep1(i,n) for (i = 1;i<=(n);i++) #define MP make_pair #define pii pair #define PB push_back #define mod 9973 char s[100005]; int n,a[100005]; int pw(int x,int y) { if (y==0) return 1; if (y&1) return (x*pw(x,y-1))%mod; int z=pw(x,y>>1); return (z*z)%mod; } int main() { int i,x,y,ans,l; while (scanf("%d",&n)!=EOF) { scanf("%s",s); l=strlen(s); rep0(i,l) { s[i]-=28; a[i]=i==0?s[i]:(a[i-1]*s[i])%mod; } rep0(i,n) { scanf("%d%d",&x,&y); x--; y--; ans=a[y]; if (x>0) ans=(ans*pw(a[x-1],mod-2))%mod; printf("%d\n",ans); } } return 0; }