import sys
readline = sys.stdin.buffer.readline
n,k = map(int,readline().split())
mod = 10**9+7
def pow(n,p,mod=10**9+7): #繰り返し二乗法(nのp乗)
    res = 1
    while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
    return res % mod
def factrial_memo(n=10**6+1,mod=10**9+7):
    fact = [1, 1]
    for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
    return fact
def fermat_cmb(n, r, mod=10**9+7): #needs pow,factrial_memo(only fact). return nCk
    return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod
fact = factrial_memo()

if k > n-1: #全通りの再現が可能ならば
    ans = fermat_cmb(2*n-1,n)
else: #移動回数の制限によって全通りの再現ができないならば
    ans = 1
    for i in range(1,k+1): #全ての動作を再現する(kはたかだか2*10**5である)
        ans += fermat_cmb(n,i)*fermat_cmb(n-1,i)
        #n人の中から動かせる人物をi人取り、n-1箇所(それぞれの人物に付き同じ場所には戻れない)
        #にi人を入れる組み合わせ。それぞれの事象に付き、0人になる部屋と他の部屋の人数は
        #必ず違う組み合わせになるので、これをk回だけ繰り返せば良い
        ans %= mod

print(ans) import sys sys readline = sys.stdin.buffer.readline readline sys.stdin.buffer.readline sys.stdin.buffer sys.stdin sys stdin buffer readline n,k = map(int,readline().split()) n map(int,readline().split()) map int readline().split() ().split () readline split k mod = 10**9+7 mod 10**9+7 10**9 10 9 7 def pow(n,p,mod=10**9+7): #繰り返し二乗法(nのp乗)
    res = 1
    while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
    return res % mod pow res = 1 res 1 while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
     p > 0 p 0 if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
     p % 2 == 0 p % 2 p 2 0 n = n ** 2 % mod n n ** 2 % mod n ** 2 n 2 mod p //= 2 p 2 res = res * n % mod res res * n % mod res * n res n mod p -= 1 p 1 return res % mod res % mod res mod n n p p mod=10**9+7 mod 10**9+7 10**9 10 9 7 def factrial_memo(n=10**6+1,mod=10**9+7):
    fact = [1, 1]
    for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
    return fact factrial_memo fact = [1, 1] fact [1, 1] 1 1 for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
     i range(2, n + 1) range 2 n + 1 n 1 fact.append((fact[-1] * i) % mod) fact.append fact append (fact[-1] * i) % mod fact[-1] * i fact[-1] fact -1 i mod return fact fact n=10**6+1 n 10**6+1 10**6 10 6 1 mod=10**9+7 mod 10**9+7 10**9 10 9 7 def fermat_cmb(n, r, mod=10**9+7): #needs pow,factrial_memo(only fact). return nCk
    return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod fermat_cmb return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) fact[n] * pow(fact[r],mod-2) fact[n] fact n pow(fact[r],mod-2) pow fact[r] fact r mod-2 mod 2 pow(fact[n-r],mod-2) pow fact[n-r] fact n-r n r mod-2 mod 2 mod n n r r mod=10**9+7 mod 10**9+7 10**9 10 9 7 fact = factrial_memo() fact factrial_memo() factrial_memo if k > n-1: #全通りの再現が可能ならば
    ans = fermat_cmb(2*n-1,n)
else: #移動回数の制限によって全通りの再現ができないならば
    ans = 1
    for i in range(1,k+1): #全ての動作を再現する(kはたかだか2*10**5である)
        ans += fermat_cmb(n,i)*fermat_cmb(n-1,i)
        #n人の中から動かせる人物をi人取り、n-1箇所(それぞれの人物に付き同じ場所には戻れない)
        #にi人を入れる組み合わせ。それぞれの事象に付き、0人になる部屋と他の部屋の人数は
        #必ず違う組み合わせになるので、これをk回だけ繰り返せば良い
        ans %= mod k > n-1 k n-1 n 1 ans = fermat_cmb(2*n-1,n) ans fermat_cmb(2*n-1,n) fermat_cmb 2*n-1 2*n 2 n 1 n ans = 1 ans 1 for i in range(1,k+1): #全ての動作を再現する(kはたかだか2*10**5である)
        ans += fermat_cmb(n,i)*fermat_cmb(n-1,i)
        #n人の中から動かせる人物をi人取り、n-1箇所(それぞれの人物に付き同じ場所には戻れない)
        #にi人を入れる組み合わせ。それぞれの事象に付き、0人になる部屋と他の部屋の人数は
        #必ず違う組み合わせになるので、これをk回だけ繰り返せば良い
        ans %= mod i range(1,k+1) range 1 k+1 k 1 ans += fermat_cmb(n,i)*fermat_cmb(n-1,i) ans fermat_cmb(n,i)*fermat_cmb(n-1,i) fermat_cmb(n,i) fermat_cmb n i fermat_cmb(n-1,i) fermat_cmb n-1 n 1 i ans %= mod ans mod print(ans) print ans mod = 10**9+7 10**9+7 mod ans = fermat_cmb(2*n-1,n) fermat_cmb(2*n-1,n) ans def factrial_memo(n=10**6+1,mod=10**9+7):
    fact = [1, 1]
    for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
    return fact def factrial_memo(n=10**6+1,mod=10**9+7):
    fact = [1, 1]
    for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
    return fact factrial_memo n,k = map(int,readline().split()) map(int,readline().split()) n def pow(n,p,mod=10**9+7): #繰り返し二乗法(nのp乗)
    res = 1
    while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
    return res % mod def pow(n,p,mod=10**9+7): #繰り返し二乗法(nのp乗)
    res = 1
    while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
    return res % mod pow ans += fermat_cmb(n,i)*fermat_cmb(n-1,i) fermat_cmb(n,i)*fermat_cmb(n-1,i) ans k = map(int,readline().split()) map(int,readline().split()) k fact = factrial_memo() factrial_memo() fact def fermat_cmb(n, r, mod=10**9+7): #needs pow,factrial_memo(only fact). return nCk
    return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod def fermat_cmb(n, r, mod=10**9+7): #needs pow,factrial_memo(only fact). return nCk
    return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod fermat_cmb ans = 1 1 ans ans %= mod mod ans readline = sys.stdin.buffer.readline sys.stdin.buffer.readline readline
import sys
readline = sys.stdin.buffer.readline
n,k = map(int,readline().split())
mod = 10**9+7
def pow(n,p,mod=10**9+7): #繰り返し二乗法(nのp乗)
    res = 1
    while p > 0:
        if p % 2 == 0:
            n = n ** 2 % mod
            p //= 2
        else:
            res = res * n % mod
            p -= 1
    return res % mod
def factrial_memo(n=10**6+1,mod=10**9+7):
    fact = [1, 1]
    for i in range(2, n + 1):
        fact.append((fact[-1] * i) % mod)
    return fact
def fermat_cmb(n, r, mod=10**9+7): #needs pow,factrial_memo(only fact). return nCk
    return fact[n] * pow(fact[r],mod-2) * pow(fact[n-r],mod-2) %mod
fact = factrial_memo()

if k > n-1: #全通りの再現が可能ならば
    ans = fermat_cmb(2*n-1,n)
else: #移動回数の制限によって全通りの再現ができないならば
    ans = 1
    for i in range(1,k+1): #全ての動作を再現する(kはたかだか2*10**5である)
        ans += fermat_cmb(n,i)*fermat_cmb(n-1,i)
        #n人の中から動かせる人物をi人取り、n-1箇所(それぞれの人物に付き同じ場所には戻れない)
        #にi人を入れる組み合わせ。それぞれの事象に付き、0人になる部屋と他の部屋の人数は
        #必ず違う組み合わせになるので、これをk回だけ繰り返せば良い
        ans %= mod

print(ans)