module Main where

import Data.List as List
import qualified Data.Vector.Unboxed as V
import qualified Data.ByteString.Char8 as BS
import Control.Monad as M
import Data.Maybe as Maybe

main :: IO ()
main =
    print =<< (\a -> a - 1) . (`div` 2) . (+ 1) <$> getInt

getInt :: IO Int
getInt = read <$> BS.unpack <$> BS.getLine

{-
splitLine :: IO [BS.ByteString]
splitLine = BS.words <$> BS.getLine

getInts :: IO (V.Vector Int)
getInts = V.fromList <$> List.map fst <$> Maybe.mapMaybe BS.readInt <$> splitLine
-}
getInts :: IO (V.Vector Int)
getInts = V.fromList <$> List.map fst <$> Maybe.mapMaybe BS.readInt <$> replicateM 3 BS.getLine

solve :: V.Vector Int -> IO ()
solve v = print $ (\a -> div (a - 1 + v V.! 2) a) $ max (v V.! 0) (v V.! 1)
