import Control.Applicative
import Data.List

main :: IO ()
main = solve <$> readLn <*> readLn >>= print

solve :: Integer -> Integer -> Integer
solve n m = comb m (n `mod` (m * 1000) `div` 1000)

comb :: Integer -> Integer -> Integer
comb n m
  | n < m = 0
  | m == 0 = 1
  | n < 2 * m = comb n (n - m)
  | otherwise = flip mod d $ foldl' f 1 $ zip [n-m+1 .. n] [1 .. m]
  where
    f c (x, y) = c * x `div` y
    d = 10 ^ 9