readDigits :: IO [Int] readDigits = map read <$> words <$> getLine main :: IO () main = do [l,k] <- readDigits let ls = [l,(l-k)..0] putStrLn . show $ go k [n | n<-ls, n>k] where go _ [] = 0 go _ (_:[]) = 0 go k (a:b:xs) = k + go k xs