MAX = 4*10**5
bikkuri=[1]
mod = 10**9+7
for i in range(1,MAX+1):
    bikkuri.append((bikkuri[-1]*i)%mod)

def Comb(n,k):
    ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod)
    ans %=mod
    return ans
    
n,k = map(int,input().split())
if n-1 <= k:
    ans = Comb(2*n-1,n)
    print(ans)
else:
    tmp = 0
    for i in range(k+1):
        tmp += Comb(n,i)*Comb(n-1,i)
        tmp %= mod
    print(tmp) MAX = 4*10**5 MAX 4*10**5 4 10**5 10 5 bikkuri=[1] bikkuri [1] 1 mod = 10**9+7 mod 10**9+7 10**9 10 9 7 for i in range(1,MAX+1):
    bikkuri.append((bikkuri[-1]*i)%mod) i range(1,MAX+1) range 1 MAX+1 MAX 1 bikkuri.append((bikkuri[-1]*i)%mod) bikkuri.append bikkuri append (bikkuri[-1]*i)%mod bikkuri[-1]*i bikkuri[-1] bikkuri -1 i mod def Comb(n,k):
    ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod)
    ans %=mod
    return ans
     Comb ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod) ans bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod) bikkuri[n]*pow(bikkuri[k],mod-2,mod) bikkuri[n] bikkuri n pow(bikkuri[k],mod-2,mod) pow bikkuri[k] bikkuri k mod-2 mod 2 mod pow(bikkuri[n-k],mod-2,mod) pow bikkuri[n-k] bikkuri n-k n k mod-2 mod 2 mod ans %=mod ans mod return ans ans n n k k n,k = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k if n-1 <= k:
    ans = Comb(2*n-1,n)
    print(ans)
else:
    tmp = 0
    for i in range(k+1):
        tmp += Comb(n,i)*Comb(n-1,i)
        tmp %= mod
    print(tmp) n-1 <= k n-1 n 1 k ans = Comb(2*n-1,n) ans Comb(2*n-1,n) Comb 2*n-1 2*n 2 n 1 n print(ans) print ans tmp = 0 tmp 0 for i in range(k+1):
        tmp += Comb(n,i)*Comb(n-1,i)
        tmp %= mod
     i range(k+1) range k+1 k 1 tmp += Comb(n,i)*Comb(n-1,i) tmp Comb(n,i)*Comb(n-1,i) Comb(n,i) Comb n i Comb(n-1,i) Comb n-1 n 1 i tmp %= mod tmp mod print(tmp) print tmp MAX = 4*10**5 4*10**5 MAX ans = Comb(2*n-1,n) Comb(2*n-1,n) ans bikkuri=[1] [1] bikkuri def Comb(n,k):
    ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod)
    ans %=mod
    return ans
     def Comb(n,k):
    ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod)
    ans %=mod
    return ans
     Comb tmp %= mod mod tmp k = map(int,input().split()) map(int,input().split()) k tmp = 0 0 tmp mod = 10**9+7 10**9+7 mod n,k = map(int,input().split()) map(int,input().split()) n tmp += Comb(n,i)*Comb(n-1,i) Comb(n,i)*Comb(n-1,i) tmp
MAX = 4*10**5
bikkuri=[1]
mod = 10**9+7
for i in range(1,MAX+1):
    bikkuri.append((bikkuri[-1]*i)%mod)

def Comb(n,k):
    ans = bikkuri[n]*pow(bikkuri[k],mod-2,mod)*pow(bikkuri[n-k],mod-2,mod)
    ans %=mod
    return ans
    
n,k = map(int,input().split())
if n-1 <= k:
    ans = Comb(2*n-1,n)
    print(ans)
else:
    tmp = 0
    for i in range(k+1):
        tmp += Comb(n,i)*Comb(n-1,i)
        tmp %= mod
    print(tmp)