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