class Comb
  def initialize(n)
    create_pascals_triangle(n)
  end

  def comb(n, k)
    raise "out of bounds [n:#{n}, k:#{k}]" if n < k
    @dp[n][k]
  end

  def print_triangle
    n = @dp.size
    0.upto(n - 1) do |i|
      tmp = []
      0.upto(i) do |j|
        tmp << @dp[i][j]
      end
      puts tmp.join("\s")
    end
  end

  private

  def create_pascals_triangle(n)
    @dp = Array.new(n + 1) { Array.new(n + 1, 1) }

    1.upto(n) do |i|
      1.upto(i - 1) do |j|
        @dp[i][j] = @dp[i - 1][j - 1] + @dp[i - 1][j]
      end
    end
  end
end


MOD = 10 ** 9 + 7

def blue_and_red_balls(n, k)
  c = Comb.new(n)
  blue = k
  red = n - k
  (1..k).each do |i|
    puts c.comb(red + 1, i) * c.comb(blue - 1, i - 1) % MOD
  end
end

n, k = gets.split.map(&:to_i)
blue_and_red_balls(n, k)