#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; #define MOD 100003 long long rem[MOD]; long long inst(long long arg){ if(arg == 0) return 0; return arg/MOD + inst(arg/MOD); } long long mod_pow(long long b, long long e){ if(e == 0) return 1; if(e % 2) return (b * mod_pow((b*b)%MOD, e/2)) % MOD; return mod_pow((b*b)%MOD, e/2); } long long frem(long long v){ long long cyc = v / MOD; int tail = v % MOD; long long sfrem = 1; if(cyc > 0) sfrem = frem(cyc); return (sfrem * (mod_pow(rem[MOD-1], cyc) * rem[tail]) % MOD) % MOD; } int main() { rem[0] = 1LL; for(int i=1; i<MOD; i++) rem[i] = (i * rem[i-1]) % MOD; int T; for(cin >> T; T; T--){ long long N, K; cin >> N >> K; long long numer = inst(N - K + 1); long long denom = inst(K) + inst(N - K - K + 1); if((N-K+1 < 0) || (N-K+1 < K) || (numer > denom)) cout << 0 << endl; else{ long long top = frem(N - K + 1); long long bot = (frem(K) * frem(N - K - K + 1)) % MOD; long long boti = mod_pow(bot, MOD - 2); cout << (top * boti) % MOD << endl; } } return 0; }