import Control.Monad import System.IO import Data.List next n k x = last (takeWhile (>x) [n-1,n-1-(k+1)..0]) main = do [n,k] <- map read . words <$> getLine if (mod (n-1) (k+1) == 0) then putStrLn "0" else putStrLn (show (next n k 0)) hFlush stdout main' n k where main' n k = do b <- read <$> getLine unless (b >= n) (putStrLn (show (next n k b)) >> hFlush stdout >> main' n k)