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

N, K = gets.split(" ").map(&:to_i)

def inv(x)
    res = 1 # 最終的に x^(MOD-2) になる変数です
    beki = x # x^2^n を格納する変数です
    # MOD-2の２進数展開を下位のbitから見ていきます。
    (MOD - 2).to_s(2).reverse.chars do |digest|
      # bitが立っている <=> digest == ONE 
      # なら resにbekiを掛けます。
      # ここで、掛け算は計算の都度MODを取れます
      res = (beki * res) % MOD if digest == ONE
      # 次のループに備えて、自乗を計算します。
      # 計算の都度MODを取れます(とても大事なので二回言います)
      beki = (beki * beki) % MOD
    end
    res
  end

  #順列
def fact(s, e)
    (s..e).reduce(1) { |r, i| (r * i) % MOD }
end

#組み合わせ
def nCk(n, k)
    (fact(k + 1, n) * inv(fact(1, n - k) % MOD)) % MOD
end

K.times do |i|
    if (N - K) >= i 
    puts nCk(N - K + 1, i + 1) * nCk(K - 1, i) % MOD
    else
        puts 0
    end
end
