

N, K = list(map(int, input().split()))

MOD=10**9+7



def cmb(n, r):

    if n < r: return 0 #date added

    if n - r < r: r = n - r

    if r == 0: return 1

    if r == 1: return n



    numerator = [n - r + k + 1 for k in range(r)]

    denominator = [k + 1 for k in range(r)]



    for p in range(2,r+1):

        pivot = denominator[p - 1]

        if pivot > 1:

            offset = (n - r) % p

            for k in range(p-1,r,p):

                numerator[k - offset] /= pivot

                denominator[k] /= pivot



    result = 1

    for k in range(r):

        if numerator[k] > 1:

            result *= int(numerator[k])



    return result



for i in range(1,K+1):

    ans=cmb(N-K+1, i)%MOD*cmb(K-1, i-1)%MOD

    # cmb(N-K+i, i) -> cmb(N-K+1, i)

    #if N==K and 1 < i: ans=0

    print((int(ans%MOD)))


N, K = list(map(int, input().split()))

MOD=10**9+7



from operator import mul

from functools import reduce



def cmb(n,r):

    if n < r: return 0 # added

    r = min(n-r,r)

    if r == 0: return 1

    over = reduce(mul, list(range(n, n - r, -1)))

    under = reduce(mul, list(range(1,r + 1)))

    return over // under



for i in range(1,K+1):

    ans=cmb(N-K+1, i)%MOD*cmb(K-1, i-1)%MOD

    # cmb(N-K+i, i) -> cmb(N-K+1, i)

    print(ans)
N, K = list(map(int, input().split()))
MOD = 10**9 + 7


def cmb(n, r):
    if n < r:
        return 0  # date added
    if n - r < r:
        r = n - r
    if r == 0:
        return 1
    if r == 1:
        return n
    numerator = [n - r + k + 1 for k in range(r)]
    denominator = [k + 1 for k in range(r)]
    for p in range(2, r + 1):
        pivot = denominator[p - 1]
        if pivot > 1:
            offset = (n - r) % p
            for k in range(p - 1, r, p):
                numerator[k - offset] /= pivot
                denominator[k] /= pivot
    result = 1
    for k in range(r):
        if numerator[k] > 1:
            result *= int(numerator[k])
    return result


for i in range(1, K + 1):
    ans = cmb(N - K + 1, i) % MOD * cmb(K - 1, i - 1) % MOD
    # cmb(N-K+i, i) -> cmb(N-K+1, i)
    # if N==K and 1 < i: ans=0
    print((int(ans % MOD)))

N, K = list(map(int, input().split()))
MOD = 10**9 + 7
from operator import mul
from functools import reduce


def cmb(n, r):
    if n < r:
        return 0  # added
    r = min(n - r, r)
    if r == 0:
        return 1
    over = reduce(mul, list(range(n, n - r, -1)))
    under = reduce(mul, list(range(1, r + 1)))
    return over // under


for i in range(1, K + 1):
    ans = cmb(N - K + 1, i) % MOD * cmb(K - 1, i - 1) % MOD
    # cmb(N-K+i, i) -> cmb(N-K+1, i)
    print(ans)

+from operator import mul +from functools import reduce -        return 0  # date added -    if n - r < r: -        r = n - r +        return 0  # added +    r = min(n - r, r) -    if r == 1: -        return n -    numerator = [n - r + k + 1 for k in range(r)] -    denominator = [k + 1 for k in range(r)] -    for p in range(2, r + 1): -        pivot = denominator[p - 1] -        if pivot > 1: -            offset = (n - r) % p -            for k in range(p - 1, r, p): -                numerator[k - offset] /= pivot -                denominator[k] /= pivot -    result = 1 -    for k in range(r): -        if numerator[k] > 1: -            result *= int(numerator[k]) -    return result +    over = reduce(mul, list(range(n, n - r, -1))) +    under = reduce(mul, list(range(1, r + 1))) +    return over // under -    # if N==K and 1 < i: ans=0 -    print((int(ans % MOD))) +    print(ans)