N,K=$<.read.split.map(&:to_i)
MOD=10**9+7

fac = []
finv = []
inv = []
fac[0] = fac[1] = 1;
finv[0] = finv[1] = 1;
inv[1] = 1;
i = 2
while i < N
	fac[i] = fac[i - 1] * i % MOD
  inv[i] = MOD - inv[MOD%i] * (MOD / i) % MOD
  finv[i] = finv[i - 1] * inv[i] % MOD
  i += 1
end

def comb(n,k,fac,finv)
  return 0 if n < k
	return 0 if n < 0 || k < 0
  fac[n] * (finv[k] * finv[n-k] % MOD) % MOD
end

blue = K
red = N-K
1.upto(K) do |i|
    if red < i-1 
        puts 0
    else
        # p [comb(K-1,i-1,fac,finv), comb(K,i,fac,finv)]
        puts comb(K-1,i-1,fac,finv) * comb(N-K+1,i,fac,finv) % MOD
    end
end

# x = 3
# 1.upto(x) do |i|
#     puts comb(x,i,fac,finv)
# end