import Control.Monad

import qualified Data.ByteString.Char8 as BS
import Data.Char
import Data.List

toInts :: IO [Int]
toInts = unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine

fac :: Integer -> Integer
fac 0 = 1
fac n = n * fac (n - 1)

comb :: Int -> Int -> Int
comb a b =
  let a_ = (fromIntegral a)
   in let b_ = (fromIntegral b)
       in fromIntegral $
          mod (div (fac a_) ((fac $ a_ - b_) * (fac b_))) 1000000007

b_p :: Int -> Int -> Int
b_p a b = mod (a * b) 1000000007

solver :: Int -> Int -> Int -> Int
solver n k i =
  if (n - k) + 1 < i
    then 0
    else b_p (comb ((n - k) + 1) i) (comb (k - 1) (i - 1))

main :: IO ()
main = do
  (n:k:[]) <- toInts
  forM_ [1 .. k] (\i -> print $ solver n k i)