import java.io.*; import java.util.*; import java.math.*; /** * * * @author Erick Lin */ public class Solution { static final int DIV = 100003; public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); long t = Long.parseLong(in.readLine()); for (int i = 0; i < t; i++) { StringTokenizer line = new StringTokenizer(in.readLine()); long _n = Long.parseLong(line.nextToken()); long _k = Long.parseLong(line.nextToken()); System.out.println(combinations(_n - _k + 1, _k)); } } public static int combinations(long n, long k) { if (n < k) return 0; if (k > n / 2) return combinations(n, n - k); long num = 1; long denom = 1; for (long i = 0; i < k; i++) { num = (num * (n - i)) % DIV; denom = (denom * (i + 1)) % DIV; } //System.out.println(num + " " + BigInteger.valueOf(denom).modInverse(BigInteger.valueOf(DIV))); return (int) ((num * BigInteger.valueOf(denom).modInverse(BigInteger.valueOf(DIV)).intValue()) % DIV); } }