n, k = map(int, input().split())

MOD = 10**9 + 7
MAX = 2 * n + 1
fact = [1] * (MAX + 1)  # i!
finv = [1] * (MAX + 1)  # (i!)^{-1}
iinv = [1] * (MAX + 1)  # i^{-1}

for i in range(2, MAX + 1):
    fact[i] = fact[i - 1] * i % MOD
    iinv[i] = MOD - iinv[MOD % i] * (MOD // i) % MOD
    finv[i] = finv[i - 1] * iinv[i] % MOD


def comb(n: int, k: int) -> int:
    if n < k or n < 0 or k < 0:
        return 0
    return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD


if k >= n - 1:
    ans = comb(n + (n - 1), n - 1)
else:
    ans = 0
    for i in range(k + 1):
        ans += (comb(n, i) * comb(n - 1, i)) % MOD
        ans %= MOD

print(ans) n, k = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split k MOD = 10**9 + 7 MOD 10**9 + 7 10**9 10 9 7 MAX = 2 * n + 1 MAX 2 * n + 1 2 * n 2 n 1 fact = [1] * (MAX + 1) fact [1] * (MAX + 1) [1] 1 MAX + 1 MAX 1 finv = [1] * (MAX + 1) finv [1] * (MAX + 1) [1] 1 MAX + 1 MAX 1 iinv = [1] * (MAX + 1) iinv [1] * (MAX + 1) [1] 1 MAX + 1 MAX 1 for i in range(2, MAX + 1):
    fact[i] = fact[i - 1] * i % MOD
    iinv[i] = MOD - iinv[MOD % i] * (MOD // i) % MOD
    finv[i] = finv[i - 1] * iinv[i] % MOD i range(2, MAX + 1) range 2 MAX + 1 MAX 1 fact[i] = fact[i - 1] * i % MOD fact[i] fact i fact[i - 1] * i % MOD fact[i - 1] * i fact[i - 1] fact i - 1 i 1 i MOD iinv[i] = MOD - iinv[MOD % i] * (MOD // i) % MOD iinv[i] iinv i MOD - iinv[MOD % i] * (MOD // i) % MOD MOD iinv[MOD % i] * (MOD // i) % MOD iinv[MOD % i] * (MOD // i) iinv[MOD % i] iinv MOD % i MOD i MOD // i MOD i MOD finv[i] = finv[i - 1] * iinv[i] % MOD finv[i] finv i finv[i - 1] * iinv[i] % MOD finv[i - 1] * iinv[i] finv[i - 1] finv i - 1 i 1 iinv[i] iinv i MOD def comb(n: int, k: int) -> int:
    if n < k or n < 0 or k < 0:
        return 0
    return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD comb if n < k or n < 0 or k < 0:
        return 0
     n < k or n < 0 or k < 0 n < k or n < 0 n < k n k n < 0 n 0 k < 0 k 0 return 0 0 return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD (fact[n] * finv[k] % MOD) * finv[n - k] % MOD (fact[n] * finv[k] % MOD) * finv[n - k] fact[n] * finv[k] % MOD fact[n] * finv[k] fact[n] fact n finv[k] finv k MOD finv[n - k] finv n - k n k MOD n: int n k: int k if k >= n - 1:
    ans = comb(n + (n - 1), n - 1)
else:
    ans = 0
    for i in range(k + 1):
        ans += (comb(n, i) * comb(n - 1, i)) % MOD
        ans %= MOD k >= n - 1 k n - 1 n 1 ans = comb(n + (n - 1), n - 1) ans comb(n + (n - 1), n - 1) comb n + (n - 1) n n - 1 n 1 n - 1 n 1 ans = 0 ans 0 for i in range(k + 1):
        ans += (comb(n, i) * comb(n - 1, i)) % MOD
        ans %= MOD i range(k + 1) range k + 1 k 1 ans += (comb(n, i) * comb(n - 1, i)) % MOD ans (comb(n, i) * comb(n - 1, i)) % MOD comb(n, i) * comb(n - 1, i) comb(n, i) comb n i comb(n - 1, i) comb n - 1 n 1 i MOD ans %= MOD ans MOD print(ans) print ans k = map(int, input().split()) map(int, input().split()) k ans %= MOD MOD ans MAX = 2 * n + 1 2 * n + 1 MAX ans += (comb(n, i) * comb(n - 1, i)) % MOD (comb(n, i) * comb(n - 1, i)) % MOD ans fact = [1] * (MAX + 1) [1] * (MAX + 1) fact iinv = [1] * (MAX + 1) [1] * (MAX + 1) iinv ans = comb(n + (n - 1), n - 1) comb(n + (n - 1), n - 1) ans n, k = map(int, input().split()) map(int, input().split()) n MOD = 10**9 + 7 10**9 + 7 MOD def comb(n: int, k: int) -> int:
    if n < k or n < 0 or k < 0:
        return 0
    return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD def comb(n: int, k: int) -> int:
    if n < k or n < 0 or k < 0:
        return 0
    return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD comb finv = [1] * (MAX + 1) [1] * (MAX + 1) finv ans = 0 0 ans
n, k = map(int, input().split())

MOD = 10**9 + 7
MAX = 2 * n + 1
fact = [1] * (MAX + 1)  # i!
finv = [1] * (MAX + 1)  # (i!)^{-1}
iinv = [1] * (MAX + 1)  # i^{-1}

for i in range(2, MAX + 1):
    fact[i] = fact[i - 1] * i % MOD
    iinv[i] = MOD - iinv[MOD % i] * (MOD // i) % MOD
    finv[i] = finv[i - 1] * iinv[i] % MOD


def comb(n: int, k: int) -> int:
    if n < k or n < 0 or k < 0:
        return 0
    return (fact[n] * finv[k] % MOD) * finv[n - k] % MOD


if k >= n - 1:
    ans = comb(n + (n - 1), n - 1)
else:
    ans = 0
    for i in range(k + 1):
        ans += (comb(n, i) * comb(n - 1, i)) % MOD
        ans %= MOD

print(ans)
