f :: Int -> Int -> Int -> Int f a b 1 = abs(a-1) + abs(1-0) f a b s = do if abs(a-s) <= abs(b-s) then abs(a-s) + abs(s-0) else if a>0 then min ( abs(b-s) + abs(a-s) + (f a a a) ) ( abs(s-b) + abs(s-1) + (f a 1 1) ) else abs(s-b) + abs(s-1) + (f a 1 1) main = do [a,b,s] <- (map read . words) `fmap` getLine putStrLn $ show $ f a b s