import javax.swing.DefaultBoundedRangeModel

object Main extends App {
  import scala.io.StdIn._

  val MOD = 1000000007L
  val Array(n, k) = readLine.trim.split(' ').map(_.toInt)
  val factorial = Array.fill(2000){1L}
  val inv = Array.fill(2000){1L}
  val invF = Array.fill(2000){1L}
  for (i <- 2 until factorial.length) {
    factorial(i) = i * factorial(i - 1) % MOD
    inv(i) = (MOD - MOD / i) * inv((MOD % i).toInt) % MOD
    invF(i) = inv(i) * invF(i - 1) % MOD
  }
  for (i <- 1 to k) {
    val blue = split(k, i)
    val red = (split(n - k, i - 1) + split(n - k, i) * 2 + split(n - k, i + 1)) % MOD
    println(blue * red % MOD)
  }
  def split(n: Int, k: Int): Long = {
    if (k < 1 || n < k) 0L
    else combination(n - 1, k - 1)
  }
  def combination(n: Int, r: Int): Long = {
    factorial(n) * invF(r) % MOD * invF(n - r) % MOD
  }
}