#include #include #include #include using namespace std; #include #include #include long long dp[100002]; char a[100002]; long long suan(long long a,long long b,long long m) { long long d,t; d=1; t=a; while (b>0) { if (b%2==1) d=(d*t)%m; b/=2; t=(t*t)%m; } return d; } int main() { long long n; while(scanf("%I64d",&n)!=EOF) { scanf("%s",a+1); long long la=strlen(a+1); // prlong longf("%d\n",la); dp[0]=1; for(long long i=1; i<=la; i++) { dp[i]=dp[i-1]*(a[i]-28); dp[i]%=9973; } //prlong longf("%s",a); while(n--) { long long st,en; long long sum=1; scanf("%d%d",&st,&en); printf("%I64d\n",(dp[en]*(long long)suan(dp[st-1],9971,9973)%9973)); } } }