package _012HDU5685;
//暴力解---超时
//import java.math.BigInteger;
//import java.util.Scanner;
//
//public class Main {
// public static BigInteger MOD = new BigInteger("9973");
// public static void main(String[] args) {
// Scanner sc = new Scanner(System.in);
// while(sc.hasNext()) {
// int T = sc.nextInt();
// sc.nextLine();
// String s = sc.nextLine();
// for (int i = 0; i < T; i++) {
// BigInteger sum = new BigInteger("1");
// int l = sc.nextInt();
// int r = sc.nextInt();
// for (int j = l; j <= r; j++) {//1-len
// //H(s)=∏i≤len(s)i=1(Si−28) (mod 9973)
// //System.out.println(s.charAt(j-1));
// sum = sum.multiply(new BigInteger(((int)s.charAt(j-1))-28+"")).mod(MOD);
// }
// System.out.println(sum.mod(MOD));
// }
// }
// }
//}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int mod = 9973;
Scanner sc = new Scanner(System.in);
int[] v = new int[9973];
v[0]=v[1]=1;
for (int i = 2; i < v.length; i++)v[i] = qpow(i,mod-2,mod);
while(sc.hasNext()) {
int T = sc.nextInt();
sc.nextLine();
String s = sc.nextLine();
int len = s.length();
int[] pre = new int[len+1];
pre[0] = 1;
for (int i = 1; i < pre.length; i++) pre[i] = (pre[i-1]*((int)s.charAt(i-1)-28))%mod;
for (int i = 0; i < T; i++) {
int n = sc.nextInt();
int m = sc.nextInt();
System.out.println((pre[m]*v[pre[n-1]])%mod);
}
}
}
private static int qpow(int i, int j, int mod) {
//i^j%mod2 = r^p
int r = i;
int p = j;
int sum = 1;
while(p!=0) {
if(p%2==1) {
sum=(sum*r)%mod;
p--;
}
r = (r*r)%mod;
p = p/2;
}
return sum;
}
}
HDU1576
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
int mod = 9973;
for (int i = 0; i < T; i++) {
int n = sc.nextInt()%mod;
int B = sc.nextInt()%mod;
int b_1 = qpow(B,mod-2,mod);
System.out.println((n*b_1)%mod);
}
}
private static int qpow(int b, int i, int mod) {
int r = b;
int q = i;
int sum = 1;
while(q!=0) {
if(q%2==1) {
sum = (sum*r)%mod;
q--;
}
r = (r*r)%mod;
q = q/2;
}
return sum;
}
}