module Main where

import Control.Applicative
import Control.Monad

solve :: Integer -> Integer -> Integer -> Integer -> Integer
solve curr 0 _ _ = curr
solve curr 1 _ _ = curr + 1
solve curr k a b | b <= a + 2 = curr + k
                 | curr < a = solve (curr + incs) (k - incs) a b
                 | otherwise = solve (curr + (b - a) * dbls) (k - 2 * dbls) a b
    where incs = min (a - curr) k
          dbls = k `div` 2

main :: IO ()
main = do
  [k, a, b] <- (map read . words) <$> getLine
  print $ solve 1 k a b
