def power(a,n):
    x=1
    L=list(format(n,'b'))
    l=len(L)
    for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
    return x
n,k=map(int,input().split())
a=1
b=1
y=0
for i in range(n):
    a=(a*(i+1))%(10**9+7)
    b=(b*(2*n-i-1))%(10**9+7)
aa=power(a,10**9+5)
x=(b*aa)%(10**9+7)
if k<n-1:
    c=1
    d=1
    e=1
    f=1
    for i in range(k+1):
        c=(c*(n-i))%(10**9+7)
        d=(d*(i+1))%(10**9+7)
    d=power(d,10**9+5)
    c=(c*d)%(10**9+7)
    for i in range(n-k-2):
        e=(e*(n-1-i))%(10**9+7)
        f=(f*(i+1))%(10**9+7)
    f=power(f,10**9+5)
    e=(e*f)%(10**9+7)
    y=(c*e)%(10**9+7)
    if k+2<=n-1:
        for i in range(k+2,n):
            c=(c*(n-i+1))%(10**9+7)
            d=power(i,10**9+5)
            c=(c*d)%(10**9+7)
            e=(e*(n-i))%(10**9+7)
            f=power(i,10**9+5)
            e=(e*f)%(10**9+7)
            y+=(c*e)%(10**9+7)
            y=y%(10**9+7)
x=x-y
if x<0:
    x=10**9+7+x
print(x)



 def power(a,n):
    x=1
    L=list(format(n,'b'))
    l=len(L)
    for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
    return x power x=1 x 1 L=list(format(n,'b')) L list(format(n,'b')) list format(n,'b') format n 'b' l=len(L) l len(L) len L for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
     i range(l) range l if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
         int(L[l-i-1])==1 int(L[l-i-1]) int L[l-i-1] L l-i-1 l-i l i 1 1 x=(x*a)%(10**9+7) x (x*a)%(10**9+7) x*a x a 10**9+7 10**9 10 9 7 a=(a*a)%(10**9+7) a (a*a)%(10**9+7) a*a a a 10**9+7 10**9 10 9 7 return x x a a n n n,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k a=1 a 1 b=1 b 1 y=0 y 0 for i in range(n):
    a=(a*(i+1))%(10**9+7)
    b=(b*(2*n-i-1))%(10**9+7) i range(n) range n a=(a*(i+1))%(10**9+7) a (a*(i+1))%(10**9+7) a*(i+1) a i+1 i 1 10**9+7 10**9 10 9 7 b=(b*(2*n-i-1))%(10**9+7) b (b*(2*n-i-1))%(10**9+7) b*(2*n-i-1) b 2*n-i-1 2*n-i 2*n 2 n i 1 10**9+7 10**9 10 9 7 aa=power(a,10**9+5) aa power(a,10**9+5) power a 10**9+5 10**9 10 9 5 x=(b*aa)%(10**9+7) x (b*aa)%(10**9+7) b*aa b aa 10**9+7 10**9 10 9 7 if k<n-1:
    c=1
    d=1
    e=1
    f=1
    for i in range(k+1):
        c=(c*(n-i))%(10**9+7)
        d=(d*(i+1))%(10**9+7)
    d=power(d,10**9+5)
    c=(c*d)%(10**9+7)
    for i in range(n-k-2):
        e=(e*(n-1-i))%(10**9+7)
        f=(f*(i+1))%(10**9+7)
    f=power(f,10**9+5)
    e=(e*f)%(10**9+7)
    y=(c*e)%(10**9+7)
    if k+2<=n-1:
        for i in range(k+2,n):
            c=(c*(n-i+1))%(10**9+7)
            d=power(i,10**9+5)
            c=(c*d)%(10**9+7)
            e=(e*(n-i))%(10**9+7)
            f=power(i,10**9+5)
            e=(e*f)%(10**9+7)
            y+=(c*e)%(10**9+7)
            y=y%(10**9+7) k<n-1 k n-1 n 1 c=1 c 1 d=1 d 1 e=1 e 1 f=1 f 1 for i in range(k+1):
        c=(c*(n-i))%(10**9+7)
        d=(d*(i+1))%(10**9+7)
     i range(k+1) range k+1 k 1 c=(c*(n-i))%(10**9+7) c (c*(n-i))%(10**9+7) c*(n-i) c n-i n i 10**9+7 10**9 10 9 7 d=(d*(i+1))%(10**9+7) d (d*(i+1))%(10**9+7) d*(i+1) d i+1 i 1 10**9+7 10**9 10 9 7 d=power(d,10**9+5) d power(d,10**9+5) power d 10**9+5 10**9 10 9 5 c=(c*d)%(10**9+7) c (c*d)%(10**9+7) c*d c d 10**9+7 10**9 10 9 7 for i in range(n-k-2):
        e=(e*(n-1-i))%(10**9+7)
        f=(f*(i+1))%(10**9+7)
     i range(n-k-2) range n-k-2 n-k n k 2 e=(e*(n-1-i))%(10**9+7) e (e*(n-1-i))%(10**9+7) e*(n-1-i) e n-1-i n-1 n 1 i 10**9+7 10**9 10 9 7 f=(f*(i+1))%(10**9+7) f (f*(i+1))%(10**9+7) f*(i+1) f i+1 i 1 10**9+7 10**9 10 9 7 f=power(f,10**9+5) f power(f,10**9+5) power f 10**9+5 10**9 10 9 5 e=(e*f)%(10**9+7) e (e*f)%(10**9+7) e*f e f 10**9+7 10**9 10 9 7 y=(c*e)%(10**9+7) y (c*e)%(10**9+7) c*e c e 10**9+7 10**9 10 9 7 if k+2<=n-1:
        for i in range(k+2,n):
            c=(c*(n-i+1))%(10**9+7)
            d=power(i,10**9+5)
            c=(c*d)%(10**9+7)
            e=(e*(n-i))%(10**9+7)
            f=power(i,10**9+5)
            e=(e*f)%(10**9+7)
            y+=(c*e)%(10**9+7)
            y=y%(10**9+7) k+2<=n-1 k+2 k 2 n-1 n 1 for i in range(k+2,n):
            c=(c*(n-i+1))%(10**9+7)
            d=power(i,10**9+5)
            c=(c*d)%(10**9+7)
            e=(e*(n-i))%(10**9+7)
            f=power(i,10**9+5)
            e=(e*f)%(10**9+7)
            y+=(c*e)%(10**9+7)
            y=y%(10**9+7) i range(k+2,n) range k+2 k 2 n c=(c*(n-i+1))%(10**9+7) c (c*(n-i+1))%(10**9+7) c*(n-i+1) c n-i+1 n-i n i 1 10**9+7 10**9 10 9 7 d=power(i,10**9+5) d power(i,10**9+5) power i 10**9+5 10**9 10 9 5 c=(c*d)%(10**9+7) c (c*d)%(10**9+7) c*d c d 10**9+7 10**9 10 9 7 e=(e*(n-i))%(10**9+7) e (e*(n-i))%(10**9+7) e*(n-i) e n-i n i 10**9+7 10**9 10 9 7 f=power(i,10**9+5) f power(i,10**9+5) power i 10**9+5 10**9 10 9 5 e=(e*f)%(10**9+7) e (e*f)%(10**9+7) e*f e f 10**9+7 10**9 10 9 7 y+=(c*e)%(10**9+7) y (c*e)%(10**9+7) c*e c e 10**9+7 10**9 10 9 7 y=y%(10**9+7) y y%(10**9+7) y 10**9+7 10**9 10 9 7 x=x-y x x-y x y if x<0:
    x=10**9+7+x x<0 x 0 x=10**9+7+x x 10**9+7+x 10**9+7 10**9 10 9 7 x print(x) print x d=(d*(i+1))%(10**9+7) (d*(i+1))%(10**9+7) d e=(e*f)%(10**9+7) (e*f)%(10**9+7) e x=x-y x-y x def power(a,n):
    x=1
    L=list(format(n,'b'))
    l=len(L)
    for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
    return x def power(a,n):
    x=1
    L=list(format(n,'b'))
    l=len(L)
    for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
    return x power c=(c*d)%(10**9+7) (c*d)%(10**9+7) c f=power(i,10**9+5) power(i,10**9+5) f d=1 1 d f=1 1 f c=(c*d)%(10**9+7) (c*d)%(10**9+7) c n,k=map(int,input().split()) map(int,input().split()) n y+=(c*e)%(10**9+7) (c*e)%(10**9+7) y c=(c*(n-i))%(10**9+7) (c*(n-i))%(10**9+7) c c=(c*(n-i+1))%(10**9+7) (c*(n-i+1))%(10**9+7) c d=power(d,10**9+5) power(d,10**9+5) d x=10**9+7+x 10**9+7+x x a=1 1 a e=(e*f)%(10**9+7) (e*f)%(10**9+7) e b=1 1 b b=(b*(2*n-i-1))%(10**9+7) (b*(2*n-i-1))%(10**9+7) b aa=power(a,10**9+5) power(a,10**9+5) aa k=map(int,input().split()) map(int,input().split()) k c=1 1 c y=y%(10**9+7) y%(10**9+7) y y=0 0 y y=(c*e)%(10**9+7) (c*e)%(10**9+7) y d=power(i,10**9+5) power(i,10**9+5) d e=1 1 e e=(e*(n-i))%(10**9+7) (e*(n-i))%(10**9+7) e x=(b*aa)%(10**9+7) (b*aa)%(10**9+7) x a=(a*(i+1))%(10**9+7) (a*(i+1))%(10**9+7) a e=(e*(n-1-i))%(10**9+7) (e*(n-1-i))%(10**9+7) e f=(f*(i+1))%(10**9+7) (f*(i+1))%(10**9+7) f f=power(f,10**9+5) power(f,10**9+5) f
def power(a,n):
    x=1
    L=list(format(n,'b'))
    l=len(L)
    for i in range(l):
        if int(L[l-i-1])==1:        
            x=(x*a)%(10**9+7)
        a=(a*a)%(10**9+7)
    return x
n,k=map(int,input().split())
a=1
b=1
y=0
for i in range(n):
    a=(a*(i+1))%(10**9+7)
    b=(b*(2*n-i-1))%(10**9+7)
aa=power(a,10**9+5)
x=(b*aa)%(10**9+7)
if k<n-1:
    c=1
    d=1
    e=1
    f=1
    for i in range(k+1):
        c=(c*(n-i))%(10**9+7)
        d=(d*(i+1))%(10**9+7)
    d=power(d,10**9+5)
    c=(c*d)%(10**9+7)
    for i in range(n-k-2):
        e=(e*(n-1-i))%(10**9+7)
        f=(f*(i+1))%(10**9+7)
    f=power(f,10**9+5)
    e=(e*f)%(10**9+7)
    y=(c*e)%(10**9+7)
    if k+2<=n-1:
        for i in range(k+2,n):
            c=(c*(n-i+1))%(10**9+7)
            d=power(i,10**9+5)
            c=(c*d)%(10**9+7)
            e=(e*(n-i))%(10**9+7)
            f=power(i,10**9+5)
            e=(e*f)%(10**9+7)
            y+=(c*e)%(10**9+7)
            y=y%(10**9+7)
x=x-y
if x<0:
    x=10**9+7+x
print(x)




