#include <cstdio> #include <string> #include <cstring> #include <iostream> #include <algorithm> #include <cstdlib> #include <cassert> #include <cmath> #include <vector> #include <set> #include <map> #include <list> #include <stack> #include <queue> #include <deque> #include <bitset> #include <fstream> #include <iomanip> #include <sstream> #include <complex> #include <cctype> #include <ctime> using namespace std; //Commonly used macros #define FOREACH(i,a) for(typeof((a).begin()) i=(a).begin();i!=(a).end();i++) #define SZ(a) (int)(a.size()) #define ALL(a) (a).begin(),(a).end() #define SORT(a) sort(ALL(a)); #define REVERSE(a) reverse(ALL(a)) #define UNIQUE(a) SORT(a),(a).resize(unique(ALL(a))-(a).begin()) #define IN(a,b) ((b).find(a)!=(b).end()) #define fill(x,a) memset(x, a, sizeof(x)) #define abs(a) ((a)<0?-(a):(a)) #define maX(a,b) ((a)>(b)?(a):(b)) #define miN(a,b) ((a)<(b)?(a):(b)) #define checkbit(n,b) ((n>>b)&1) #define INDEX(arr,ind) (lower_bound(all(arr),ind)-arr.begin()) #define FREOPEN freopen("in.txt","r",stdin); freopen("out.txt","w",stdout) //Main code begins here #define MOD (100003LL) long long n, k; long long modPow(long long a, long long x, long long p) { long long ret = 1; while(x > 0) { if(x % 2 != 0) ret = (ret * a) % p; a = (a * a) % p; x /= 2; } return ret; } long long modInverse(long long a, long long p) { return modPow(a, p - 2, p); } long long modBinomial(long long n, long long k, long long p) { long long numer = 1; for(int i = 0; i < k; ++i) { numer = (numer * (n - i)) % p; } long long denom = 1; for(int i = 1; i < k + 1; ++i) { denom = (denom * i) % p; } return (numer * modInverse(denom, p)) % p; } int main() { int kase; for(cin >> kase; kase > 0; --kase) { cin >> n >> k; long long ret = modBinomial(n - k + 1, k, MOD); cout << ret << endl; } return 0; }