n,k=map(int,input().split())
def find_power(n,mod):
    # 0!からn!までのびっくりを出してくれる関数(ただし、modで割った値に対してである）
    powlist=[0]*(n+1)
    powlist[0]=1
    powlist[1]=1
    for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
    return powlist

def find_inv_power(n):
    #0!からn!までの逆元を素数10**9+7で割ったあまりリストを作る関数
    powlist=find_power(n,10**9+7)
    check=powlist[-1]
    first=1
    uselist=[0]*(n+1)
    secondlist=[0]*30
    secondlist[0]=check
    secondlist[1]=check**2
    for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
    a=format(10**9+5,"b")
    for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
    uselist[n]=first
    for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
    return uselist
mod=10**9+7
a=find_power(4*10**5+100,mod)
b=find_inv_power(4*10**5+100)
def combi(n,r,mod):
    if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod)
if n<=k:
    K=combi(2*n-1,n-1,mod)
    print(K)
    
else:
    K=combi(2*n-1,n-1,mod)
    for i in range(k+1,n):
        K-=combi(n-1,n-i-1,mod)*combi(n,i,mod)
    print(K%mod)
    
     n,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k def find_power(n,mod):
    # 0!からn!までのびっくりを出してくれる関数(ただし、modで割った値に対してである）
    powlist=[0]*(n+1)
    powlist[0]=1
    powlist[1]=1
    for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
    return powlist find_power powlist=[0]*(n+1) powlist [0]*(n+1) [0] 0 n+1 n 1 powlist[0]=1 powlist[0] powlist 0 1 powlist[1]=1 powlist[1] powlist 1 1 for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
     i range(2,n+1) range 2 n+1 n 1 powlist[i]=powlist[i-1]*i%(mod) powlist[i] powlist i powlist[i-1]*i%(mod) powlist[i-1]*i powlist[i-1] powlist i-1 i 1 i mod return powlist powlist n n mod mod def find_inv_power(n):
    #0!からn!までの逆元を素数10**9+7で割ったあまりリストを作る関数
    powlist=find_power(n,10**9+7)
    check=powlist[-1]
    first=1
    uselist=[0]*(n+1)
    secondlist=[0]*30
    secondlist[0]=check
    secondlist[1]=check**2
    for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
    a=format(10**9+5,"b")
    for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
    uselist[n]=first
    for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
    return uselist find_inv_power powlist=find_power(n,10**9+7) powlist find_power(n,10**9+7) find_power n 10**9+7 10**9 10 9 7 check=powlist[-1] check powlist[-1] powlist -1 first=1 first 1 uselist=[0]*(n+1) uselist [0]*(n+1) [0] 0 n+1 n 1 secondlist=[0]*30 secondlist [0]*30 [0] 0 30 secondlist[0]=check secondlist[0] secondlist 0 check secondlist[1]=check**2 secondlist[1] secondlist 1 check**2 check 2 for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
     i range(28) range 28 secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7) secondlist[i+2] secondlist i+2 i 2 (secondlist[i+1]**2)%(10**9+7) secondlist[i+1]**2 secondlist[i+1] secondlist i+1 i 1 2 10**9+7 10**9 10 9 7 a=format(10**9+5,"b") a format(10**9+5,"b") format 10**9+5 10**9 10 9 5 "b" for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
     j range(30) range 30 if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
     a[29-j]=="1" a[29-j] a 29-j 29 j "1" first=(first*secondlist[j])%(10**9+7) first (first*secondlist[j])%(10**9+7) first*secondlist[j] first secondlist[j] secondlist j 10**9+7 10**9 10 9 7 uselist[n]=first uselist[n] uselist n first for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
     i range(n,0,-1) range n 0 -1 uselist[i-1]=(uselist[i]*i)%(10**9+7) uselist[i-1] uselist i-1 i 1 (uselist[i]*i)%(10**9+7) uselist[i]*i uselist[i] uselist i i 10**9+7 10**9 10 9 7 return uselist uselist n n mod=10**9+7 mod 10**9+7 10**9 10 9 7 a=find_power(4*10**5+100,mod) a find_power(4*10**5+100,mod) find_power 4*10**5+100 4*10**5 4 10**5 10 5 100 mod b=find_inv_power(4*10**5+100) b find_inv_power(4*10**5+100) find_inv_power 4*10**5+100 4*10**5 4 10**5 10 5 100 def combi(n,r,mod):
    if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod) combi if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod) n<r n r return 0 0 elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod) n>=r n r return (a[n]*b[r]*b[n-r])%(mod) (a[n]*b[r]*b[n-r])%(mod) a[n]*b[r]*b[n-r] a[n]*b[r] a[n] a n b[r] b r b[n-r] b n-r n r mod n n r r mod mod if n<=k:
    K=combi(2*n-1,n-1,mod)
    print(K)
    
else:
    K=combi(2*n-1,n-1,mod)
    for i in range(k+1,n):
        K-=combi(n-1,n-i-1,mod)*combi(n,i,mod)
    print(K%mod)
    
     n<=k n k K=combi(2*n-1,n-1,mod) K combi(2*n-1,n-1,mod) combi 2*n-1 2*n 2 n 1 n-1 n 1 mod print(K) print K K=combi(2*n-1,n-1,mod) K combi(2*n-1,n-1,mod) combi 2*n-1 2*n 2 n 1 n-1 n 1 mod for i in range(k+1,n):
        K-=combi(n-1,n-i-1,mod)*combi(n,i,mod)
     i range(k+1,n) range k+1 k 1 n K-=combi(n-1,n-i-1,mod)*combi(n,i,mod) K combi(n-1,n-i-1,mod)*combi(n,i,mod) combi(n-1,n-i-1,mod) combi n-1 n 1 n-i-1 n-i n i 1 mod combi(n,i,mod) combi n i mod print(K%mod) print K%mod K mod K-=combi(n-1,n-i-1,mod)*combi(n,i,mod) combi(n-1,n-i-1,mod)*combi(n,i,mod) K def combi(n,r,mod):
    if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod) def combi(n,r,mod):
    if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod) combi def find_inv_power(n):
    #0!からn!までの逆元を素数10**9+7で割ったあまりリストを作る関数
    powlist=find_power(n,10**9+7)
    check=powlist[-1]
    first=1
    uselist=[0]*(n+1)
    secondlist=[0]*30
    secondlist[0]=check
    secondlist[1]=check**2
    for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
    a=format(10**9+5,"b")
    for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
    uselist[n]=first
    for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
    return uselist def find_inv_power(n):
    #0!からn!までの逆元を素数10**9+7で割ったあまりリストを作る関数
    powlist=find_power(n,10**9+7)
    check=powlist[-1]
    first=1
    uselist=[0]*(n+1)
    secondlist=[0]*30
    secondlist[0]=check
    secondlist[1]=check**2
    for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
    a=format(10**9+5,"b")
    for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
    uselist[n]=first
    for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
    return uselist find_inv_power mod=10**9+7 10**9+7 mod n,k=map(int,input().split()) map(int,input().split()) n def find_power(n,mod):
    # 0!からn!までのびっくりを出してくれる関数(ただし、modで割った値に対してである）
    powlist=[0]*(n+1)
    powlist[0]=1
    powlist[1]=1
    for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
    return powlist def find_power(n,mod):
    # 0!からn!までのびっくりを出してくれる関数(ただし、modで割った値に対してである）
    powlist=[0]*(n+1)
    powlist[0]=1
    powlist[1]=1
    for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
    return powlist find_power K=combi(2*n-1,n-1,mod) combi(2*n-1,n-1,mod) K b=find_inv_power(4*10**5+100) find_inv_power(4*10**5+100) b a=find_power(4*10**5+100,mod) find_power(4*10**5+100,mod) a K=combi(2*n-1,n-1,mod) combi(2*n-1,n-1,mod) K k=map(int,input().split()) map(int,input().split()) k
n,k=map(int,input().split())
def find_power(n,mod):
    # 0!からn!までのびっくりを出してくれる関数(ただし、modで割った値に対してである）
    powlist=[0]*(n+1)
    powlist[0]=1
    powlist[1]=1
    for i in range(2,n+1):
        powlist[i]=powlist[i-1]*i%(mod)
    return powlist

def find_inv_power(n):
    #0!からn!までの逆元を素数10**9+7で割ったあまりリストを作る関数
    powlist=find_power(n,10**9+7)
    check=powlist[-1]
    first=1
    uselist=[0]*(n+1)
    secondlist=[0]*30
    secondlist[0]=check
    secondlist[1]=check**2
    for i in range(28):
        secondlist[i+2]=(secondlist[i+1]**2)%(10**9+7)
    a=format(10**9+5,"b")
    for j in range(30):
        if a[29-j]=="1":
            first=(first*secondlist[j])%(10**9+7)
    uselist[n]=first
    for i in range(n,0,-1):
        uselist[i-1]=(uselist[i]*i)%(10**9+7)
    return uselist
mod=10**9+7
a=find_power(4*10**5+100,mod)
b=find_inv_power(4*10**5+100)
def combi(n,r,mod):
    if n<r:
        return 0
    elif n>=r:
        return (a[n]*b[r]*b[n-r])%(mod)
if n<=k:
    K=combi(2*n-1,n-1,mod)
    print(K)
    
else:
    K=combi(2*n-1,n-1,mod)
    for i in range(k+1,n):
        K-=combi(n-1,n-i-1,mod)*combi(n,i,mod)
    print(K%mod)
    
    
