output_description: Print K lines. The i-th line (1 \leq i \leq K) should contain the number of
  ways to arrange the N balls so that Takahashi will need exactly i moves to
  collect all the blue balls, modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
attempt: class Combinatorics:
      def __init__(self, N, mod):
          """
          Preprocess for calculating binomial coefficients nCr (0 <= r <= n, 0 <= n <= N)
          over the finite field Z/(mod)Z.
          Input:
              N (int): maximum n
              mod (int): a prime number. The order of the field Z/(mod)Z over which nCr is calculated.
          """
          self.mod = mod
          self.fact = {i: None for i in range(N + 1)}  # n!
          self.inverse = {
              i: None for i in range(1, N + 1)
          }  # inverse of n in the field Z/(MOD)Z
          self.fact_inverse = {
              i: None for i in range(N + 1)
          }  # inverse of n! in the field Z/(MOD)Z
  
          # preprocess
          self.fact[0] = self.fact[1] = 1
          self.fact_inverse[0] = self.fact_inverse[1] = 1
          self.inverse[1] = 1
          for i in range(2, N + 1):
              self.fact[i] = i * self.fact[i - 1] % self.mod
              q, r = divmod(self.mod, i)
              self.inverse[i] = (-(q % self.mod) * self.inverse[r]) % self.mod
              self.fact_inverse[i] = self.inverse[i] * self.fact_inverse[i - 1] % self.mod
  
      def perm(self, n, r):
          """
          Calculate nPr = n! / (n-r)! % mod
          """
          if n < r or n < 0 or r < 0:
              return 0
          else:
              return (self.fact[n] * self.fact_inverse[n - r]) % self.mod
  
      def binom(self, n, r):
          """
          Calculate nCr = n! /(r! (n-r)!) % mod
          """
          if n < r or n < 0 or r < 0:
              return 0
          else:
              return (
                  self.fact[n]
                  * (self.fact_inverse[r] * self.fact_inverse[n - r] % self.mod)
                  % self.mod
              )
  
      def hom(self, n, r):
          """
          Calculate nHr = {n+r-1}Cr % mod.
          Assign r objects to one of n classes.
          Arrangement of r circles and n-1 partitions:
              o o o | o o | | | o | | | o o | | o
          """
          if n == 0 and r > 0:
              return 0
          if n >= 0 and r == 0:
              return 1
          return self.binom(n + r - 1, r)
  
  
  N, K = map(int, input().split())
  MOD = 10**9 + 7
  com = Combinatorics(N, MOD)
  for i in range(1, K + 1):
      blue = com.binom(K - 1, i - 1)
      red = (
          com.binom(N - K - 1, i)
          + 2 * com.binom(N - K - 1, i - 1)
          + com.binom(N - K - 1, i - 2)
      ) % MOD
      ans = (blue * red) % MOD
      print(ans)
  
problem_description: Statement
  
  There are K blue balls and N-K red balls. The balls of the same color cannot
  be distinguished. Snuke and Takahashi are playing with these balls.
  
  First, Snuke will arrange the N balls in a row from left to right.
  
  Then, Takahashi will collect only the K blue balls. In one move, he can
  collect any number of consecutive blue balls. He will collect all the blue
  balls in the fewest moves possible.
  
  How many ways are there for Snuke to arrange the N balls in a row so that
  Takahashi will need exactly i moves to collect all the blue balls? Compute
  this number modulo 10^9+7 for each i such that 1 \leq i \leq K.
samples: [{"input": "5 3", "output": "3\n    6\n    1\n    \n\nThere are three ways to arrange the balls so that Takahashi will need exactly\none move: (B, B, B, R, R), (R, B, B, B, R), and (R, R, B, B, B). (R and B\nstands for red and blue, respectively).\n\nThere are six ways to arrange the balls so that Takahashi will need exactly\ntwo moves: (B, B, R, B, R), (B, B, R, R, B), (R, B, B, R, B), (R, B, R, B, B),\n(B, R, B, B, R), and (B, R, R, B, B).\n\nThere is one way to arrange the balls so that Takahashi will need exactly\nthree moves: (B, R, B, R, B).\n\n* * *"}, {"input": "2000 3", "output": "1998\n    3990006\n    327341989\n    \n\nBe sure to print the numbers of arrangements modulo 10^9+7."}]