MOD=10**9+7
class Integer
  def mod_add(x)
    (self + x) % MOD
  end
  def mod_sub(x)
    (self - x) % MOD
  end
  def mod_mul(x)
    (self * x) % MOD
  end
  
  # a.mod_div(b) => a / b
  def mod_div(x)
    (self * x.mod_inv) % MOD
  end
  
  # a.mod_pow(b) => a ** b
  def mod_pow(x)
    a = self
    res = 1
    while x > 0
      res = res * a % MOD if x[0] == 1
      a = a * a % MOD
      x >>= 1
    end
    res
  end
  
  # for prime mod
  def mod_inv()
    self.mod_pow(MOD - 2)
  end
  
  def mod_comb(n, k)
    a = 1
    b = 1
    k.times do |i|
      b *= i + 1
      b %= MOD
    end
    k.times do |i|
      a *= n - i
      a %= MOD
    end
    a * b.mod_inv % MOD
  end
end

#初期値を配列に入れておく
class ModCombination
  attr_reader :fac, :finv
  
  def initialize(n)
    @fac = Array.new(n+1)
    @finv = Array.new(n+1)
    @fac[0] = 1
    1.upto(n) do |i|
      @fac[i] = (@fac[i-1] * i) % MOD
    end
    
    @finv[n] = @fac[n].mod_inv;
    n.downto(1) do |i|
      @finv[i-1] = (@finv[i] * i) % MOD
    end
  end
 
  def combination(n, k)
    return 0 if k < 0 || k > n
    return (@fac[n] * @finv[k] * @finv[n-k]) % MOD
  end
end

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

mc1 = ModCombination.new(K-1)
mc2 = ModCombination.new(N-K+1)

ans=Array.new(K,0)
(1..K).each do |m|
  ans[m-1] = (mc1.combination(K-1, m-1) * mc2.combination(N-K+1, m)) % MOD
end
puts ans
