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

}