MOD = 10 ** 9 + 7
ONE = '1'.freeze

def nCk(n, k)
  res = 1
  i = k
  j = 1
  while i > 0
    res = res * (n - i + 1)
    res %= MOD
    j *= i
    j %= MOD
    i -= 1
  end
  res *= inv(j)
  res %= MOD
  res
end

def repeated_nCk(n, k)
  # 仕切りのイメージで
  nCk(n + k - 1, n - 1) % MOD
end

def inv(x)
  res = 1
  beki = x
  (MOD - 2).to_s(2).reverse.chars do |digest|
    res = (beki * res) % MOD if digest == ONE
    beki = (beki * beki) % MOD
  end
  res
end

n, blue = gets.split.map(&:to_i)
red = n - blue
ans = [0]
cumulative_ans = [0]
blue.times do |i|
  ans[i + 1] = (repeated_nCk(2 + i, red) - cumulative_ans[i]) * nCk(blue - 1, i)
  ans[i + 1] = 0 if ans[i + 1] < 0
  ans[i + 1] %= MOD
  cumulative_ans[i + 1] = cumulative_ans[i] + ans[i + 1]
  cumulative_ans[i + 1] %= MOD
end
ans[1..-1].each { |a| puts a % MOD }
