import sys
MOD = 1000000007
MAXN = 100000
fact = [1] * (MAXN + 1)
for i in range(1, MAXN + 1):
fact[i] = (fact[i - 1] * i) % MOD
def modInverse(n):
return pow(n, MOD - 2, MOD)
def nCr(n, r):
if r > n or r < 0:
return 0
num = fact[n]
den = (fact[r] * fact[n - r]) % MOD
return (num * modInverse(den)) % MOD
input_data = sys.stdin.read().split()
if input_data:
t = int(input_data[0])
idx = 1
for _ in range(t):
n = int(input_data[idx])
r = int(input_data[idx + 1])
idx += 2
print(nCr(n, r))
aW1wb3J0IHN5cwoKTU9EID0gMTAwMDAwMDAwNwpNQVhOID0gMTAwMDAwCgpmYWN0ID0gWzFdICogKE1BWE4gKyAxKQpmb3IgaSBpbiByYW5nZSgxLCBNQVhOICsgMSk6CiAgICBmYWN0W2ldID0gKGZhY3RbaSAtIDFdICogaSkgJSBNT0QKCmRlZiBtb2RJbnZlcnNlKG4pOgogICAgcmV0dXJuIHBvdyhuLCBNT0QgLSAyLCBNT0QpCgpkZWYgbkNyKG4sIHIpOgogICAgaWYgciA+IG4gb3IgciA8IDA6CiAgICAgICAgcmV0dXJuIDAKICAgIG51bSA9IGZhY3Rbbl0KICAgIGRlbiA9IChmYWN0W3JdICogZmFjdFtuIC0gcl0pICUgTU9ECiAgICByZXR1cm4gKG51bSAqIG1vZEludmVyc2UoZGVuKSkgJSBNT0QKCmlucHV0X2RhdGEgPSBzeXMuc3RkaW4ucmVhZCgpLnNwbGl0KCkKaWYgaW5wdXRfZGF0YToKICAgIHQgPSBpbnQoaW5wdXRfZGF0YVswXSkKICAgIGlkeCA9IDEKICAgIGZvciBfIGluIHJhbmdlKHQpOgogICAgICAgIG4gPSBpbnQoaW5wdXRfZGF0YVtpZHhdKQogICAgICAgIHIgPSBpbnQoaW5wdXRfZGF0YVtpZHggKyAxXSkKICAgICAgICBpZHggKz0gMgogICAgICAgIHByaW50KG5DcihuLCByKSk=