#include <iostream> using namespace std; typedef unsigned long long LL; LL fact[100004]; LL infact[100004]; LL r[100004]; LL mod = 100003; LL choose(LL n,LL k,LL p); int main() { fact[1] = 1; r[1] = 1; infact[1] = 1; for(int i = 2; i <= mod; ++i) { fact[i] = (fact[i-1]*i)%mod; r[i] = (mod - (mod/i) * r[mod%i] % mod) % mod; } for(int i = 2; i <= mod; ++i) infact[i] = (infact[i-1]*r[i])%mod; int T; unsigned long long N, K; cin >> T; while(T--) { cin >> N >> K; cout << choose(N-K+1,K,mod) << endl; } return 0; } LL choose(LL n,LL k,LL p) { if(k == 0 || k == n) return 1; if(k < 0 || k > n) return 0; if(n >= p) { return (choose(n/p,k/p,p)*choose(n%p,k%p,p))%p; } return (((fact[n]*infact[k])%p)*infact[n-k])%p; }