module Main where import Data.Bool main :: IO () main = do { x <- getInt ; y <- getInt ; l <- getInt ; print $ rcount (x,y) + dist l (x,y) } rcount :: (Int,Int) -> Int rcount (x,y) = case (signum x,signum y) of (1,1) -> 1 (1,0) -> 1 (1,-1) -> 2 (0,1) -> 0 (0,0) -> 0 (0,-1) -> 2 (-1,1) -> 1 (-1,0) -> 1 (-1,-1) -> 2 dist :: Int -> (Int,Int) -> Int dist z (x,y) = case divMod (abs x) z of (d,m) -> case divMod (abs y) z of (d',m') -> bool (succ d) d (m == 0) + bool (succ d') d' (m' == 0) getInt :: IO Int getInt = read <$> getLine