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