import java.util.*;

public class Solution {
    public static long[][] dp;
    public static void main(String[] args) {      
        Scanner in = new Scanner(System.in);
        int T = in.nextInt();
        while(T-->0){
            long N = in.nextLong();
            long K = in.nextLong();
            N -= (K - 1);
            
            System.out.println(lucas(N,K));
        }
    }
    
    public static long lucas(long N, long K){
        if(N < K)
            return 0;
        if(K == 0 || N == 1)
            return 1;
        if(N==K)
            return 1;
        
        long total = 1;
        while(N % 100003 > 0){
            long curN = N % 100003;
            long curK = K % 100003;
            N /= 100003;
            K /= 100003;
            total *= choose(curN,curK);
            total %= 100003;
        }
        return total;
    }
    
    public static long choose(long N, long K){
        if(N < K)
            return 0;
        if(K == 0 || N == 1)
            return 1;
        if(N==K)
            return 1;
        
        long num = 1;
        long den = 1;
        for(long i = 2; i <= N; ++i){
            num*=i;
            num%=100003;
        }
        for(long i = 2; i <= K; ++i){
            den*=i;
            den%=100003;
        }
        for(long i = 2; i <= (N-K); ++i){
            den*=i;
            den%=100003;
        }
        return (num * modInv(den)) % 100003;
    }
    
    public static long modInv(long num){
       long x = 100001;
       long modi = 1;
       while(x > 0) {
           if( x % 2 != 0) {
               modi = (modi * num) % 100003;
           }
           num = (num * num) % 100003;
           x /= 2;
       }
       return modi;
    }
}