import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static BigInteger factorial(BigInteger k) { BigInteger a = new BigInteger("1"); BigInteger one = new BigInteger("1"); while(!k.equals(one)){ a = a.multiply(k); k = k.subtract(one); } return a; } public static BigInteger Subfactorial(BigInteger k, BigInteger MaxUpto) { BigInteger a = new BigInteger("1"); BigInteger one = new BigInteger("1"); while(!k.equals(MaxUpto)){ a = a.multiply(k); k = k.subtract(one); } return a; } public static BigInteger choose(BigInteger n , BigInteger k) { return Subfactorial(n,n.subtract(k)).divide(factorial(k)); } public static void main(String[] args) { BigInteger totalhouses,girlfriends, one = new BigInteger("1") , reminder = new BigInteger("100003"); int n; BigInteger prev,prevprev,current = new BigInteger("0"),running; Scanner snr = new Scanner(System.in); n = snr.nextInt(); for (int i=0;i<n;i++) { totalhouses = snr.nextBigInteger(); girlfriends = snr.nextBigInteger(); System.out.println(choose( totalhouses.subtract(girlfriends).add(one) , girlfriends ).remainder(reminder)); } } }