import sys # 10000桁の入力をパースするために制限を解除 # sys.set_int_max_str_digits(20000) MOD = 10**9 + 7 def solve(): T = int(input()) for _ in range(T): C, P = list(map(int, input().split())) # 足切り①: 物理的に配置不可能 if C < 2 * P - 1: print(0) continue # 足切り②: P! が MOD の倍数になる if P >= MOD: print(0) continue # N を計算し、MOD で割った余りを出す N = C - P + 1 n_mod = N % MOD # 足切り③: 連続するP個の整数の掛け算の中に MOD の倍数が含まれる if n_mod < P: print(0) continue # 全ての足切りを抜けた場合のみ、O(P) で計算 ans = 1 for i in range(P): ans = (ans * (n_mod - i)) % MOD print(ans) if __name__ == '__main__': solve()