def main():

    n, k = list(map(int, input().split()))



    mod = 10 ** 9 + 7

    fact = [1]

    for i in range(1, 2001):

        fact.append(fact[-1] * i)



    def comb(l, r):

        return fact[l] // fact[r] // fact[l - r]



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

        print(((comb(n - k + 1, i) * comb(k - 1, i - 1)) % mod))





if __name__ == "__main__":

    main()

n, k = list(map(int, input().split()))

mod = 10 ** 9 + 7



MAX = 2000



fact = [1] * (MAX + 1)

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

    fact[i] = (fact[i-1] * i) % mod



inv = [1] * (MAX + 1)

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

    inv[i] = inv[mod % i] * (mod - mod // i) % mod



fact_inv = [1] * (MAX + 1)

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

    fact_inv[i] = fact_inv[i-1] * inv[i] % mod





def comb(n, k):

    if n < k:

        return 0

    return fact[n] * fact_inv[n-k] * fact_inv[k] % mod





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

    ans = comb(n - k + 1, i) * comb(k - 1, i - 1) % mod

    print(ans)

def main():
    n, k = list(map(int, input().split()))
    mod = 10**9 + 7
    fact = [1]
    for i in range(1, 2001):
        fact.append(fact[-1] * i)

    def comb(l, r):
        return fact[l] // fact[r] // fact[l - r]

    for i in range(1, k + 1):
        print(((comb(n - k + 1, i) * comb(k - 1, i - 1)) % mod))


if __name__ == "__main__":
    main()

n, k = list(map(int, input().split()))
mod = 10**9 + 7
MAX = 2000
fact = [1] * (MAX + 1)
for i in range(1, MAX + 1):
    fact[i] = (fact[i - 1] * i) % mod
inv = [1] * (MAX + 1)
for i in range(2, MAX + 1):
    inv[i] = inv[mod % i] * (mod - mod // i) % mod
fact_inv = [1] * (MAX + 1)
for i in range(1, MAX + 1):
    fact_inv[i] = fact_inv[i - 1] * inv[i] % mod


def comb(n, k):
    if n < k:
        return 0
    return fact[n] * fact_inv[n - k] * fact_inv[k] % mod


for i in range(1, k + 1):
    ans = comb(n - k + 1, i) * comb(k - 1, i - 1) % mod
    print(ans)

-def main(): -    n, k = list(map(int, input().split())) -    mod = 10**9 + 7 -    fact = [1] -    for i in range(1, 2001): -        fact.append(fact[-1] * i) - -    def comb(l, r): -        return fact[l] // fact[r] // fact[l - r] - -    for i in range(1, k + 1): -        print(((comb(n - k + 1, i) * comb(k - 1, i - 1)) % mod)) +n, k = list(map(int, input().split())) +mod = 10**9 + 7 +MAX = 2000 +fact = [1] * (MAX + 1) +for i in range(1, MAX + 1): +    fact[i] = (fact[i - 1] * i) % mod +inv = [1] * (MAX + 1) +for i in range(2, MAX + 1): +    inv[i] = inv[mod % i] * (mod - mod // i) % mod +fact_inv = [1] * (MAX + 1) +for i in range(1, MAX + 1): +    fact_inv[i] = fact_inv[i - 1] * inv[i] % mod -if __name__ == "__main__": -    main() +def comb(n, k): +    if n < k: +        return 0 +    return fact[n] * fact_inv[n - k] * fact_inv[k] % mod + + +for i in range(1, k + 1): +    ans = comb(n - k + 1, i) * comb(k - 1, i - 1) % mod +    print(ans)