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));
        }
    }
}