from scipy.misc import comb

mod = 1000000007



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



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

    if N-K+1<i:

        print((0))

    else:

        print((comb(N-K+1,i,exact=True)*comb(K-1,i-1,exact=True)%mod))



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





def cmb(n, r, mod):

    if (r < 0 or r > n):

        return 0

    r = min(r, n-r)

    return g1[n] * g2[r] * g2[n-r] % mod





mod = 10**9+7  # 出力の制限

n = 2*10**3

g1 = [1, 1]  # 元テーブル

g2 = [1, 1]  # 逆元テーブル

inverse = [0, 1]  # 逆元テーブル計算用テーブル



for i in range(2, n + 1):

    g1.append((g1[-1] * i) % mod)

    inverse.append((-inverse[mod % i] * (mod//i)) % mod)

    g2.append((g2[-1] * inverse[-1]) % mod)



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

    print((cmb(N-K+1, i, mod) * cmb(K-1, i-1, mod) % mod))

from scipy.misc import comb

mod = 1000000007
N, K = list(map(int, input().split()))
for i in range(1, K + 1):
    if N - K + 1 < i:
        print((0))
    else:
        print((comb(N - K + 1, i, exact=True) * comb(K - 1, i - 1, exact=True) % mod))

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


def cmb(n, r, mod):
    if r < 0 or r > n:
        return 0
    r = min(r, n - r)
    return g1[n] * g2[r] * g2[n - r] % mod


mod = 10**9 + 7  # 出力の制限
n = 2 * 10**3
g1 = [1, 1]  # 元テーブル
g2 = [1, 1]  # 逆元テーブル
inverse = [0, 1]  # 逆元テーブル計算用テーブル
for i in range(2, n + 1):
    g1.append((g1[-1] * i) % mod)
    inverse.append((-inverse[mod % i] * (mod // i)) % mod)
    g2.append((g2[-1] * inverse[-1]) % mod)
for i in range(1, K + 1):
    print((cmb(N - K + 1, i, mod) * cmb(K - 1, i - 1, mod) % mod))

-from scipy.misc import comb +N, K = list(map(int, input().split())) -mod = 1000000007 -N, K = list(map(int, input().split())) + +def cmb(n, r, mod): +    if r < 0 or r > n: +        return 0 +    r = min(r, n - r) +    return g1[n] * g2[r] * g2[n - r] % mod + + +mod = 10**9 + 7  # 出力の制限 +n = 2 * 10**3 +g1 = [1, 1]  # 元テーブル +g2 = [1, 1]  # 逆元テーブル +inverse = [0, 1]  # 逆元テーブル計算用テーブル +for i in range(2, n + 1): +    g1.append((g1[-1] * i) % mod) +    inverse.append((-inverse[mod % i] * (mod // i)) % mod) +    g2.append((g2[-1] * inverse[-1]) % mod) -    if N - K + 1 < i: -        print((0)) -    else: -        print((comb(N - K + 1, i, exact=True) * comb(K - 1, i - 1, exact=True) % mod)) +    print((cmb(N - K + 1, i, mod) * cmb(K - 1, i - 1, mod) % mod))