#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>

#define inttype unsigned long long

#define MOD 100003

long long degree(long long a, long long k) {
  long long res = 1;
  long long cur = a;

  while (k != 0) {
    if (k % 2) {
      res = (res * cur) % MOD;
    }
    k /= 2;
    cur = (cur * cur) % MOD;
  }
  return res;
}

int get_degree(long long n) {
  int degree_num = 0;
  long long u = MOD;
  long long temp = n;
  while (u <= temp) {
    degree_num += temp/u;
    u *= MOD;
  }
  return degree_num;
}

long long combinations(int n, int k) {
  int num_degree = get_degree(n) - get_degree(n- k);
  int den_degree = get_degree(k);
  if (num_degree > den_degree) {
    return 0;
  }
  long long res = 1;
  for (long long i = n; i > n- k; --i) {
    long long ti = i;
    while(ti % MOD == 0) {
      ti /= MOD;
    }
    res = (res *ti) % MOD;
  }
  long long denom = 1;
  for (long long i = 1; i <= k; ++i) {
    long long ti = i;
    while(ti % MOD == 0) {
      ti /= MOD;
    }
    denom = (denom * ti)%MOD;
  }
  res = (res * degree(denom, MOD-2)) % MOD;
  return res;
}

int main() {
    int N;
    scanf("%d", &N);
    while (N--) {
        int n,k;
        scanf("%d%d", &n, &k);

        inttype N = n - (k-1);
        inttype K = k;

        if (2*k == n+1) {
            printf("1\n");
            continue;
        }

        if (2*k > n) {
            printf("0\n");
            continue;
        }
        
        if (N-K < K) K = N-K;

        printf("%llu\n", combinations(N,K));
    }
    
    return 0;
}