import sys



sys.setrecursionlimit(10 ** 7)

f_inf = float('inf')

mod = 10 ** 9 + 7





def resolve():

    k, a, b = list(map(int, input().split()))



    if b - a < 2:

        print((k + 1))

    else:

        n = k - a + 1

        res = a + n // 2 * (b - a)

        res += 1 if n % 2 != 0 else 0

        print(res)





if __name__ == '__main__':

    resolve()

import sys



sys.setrecursionlimit(10 ** 7)

input = sys.stdin.readline

f_inf = float('inf')

mod = 10 ** 9 + 7





def resolve():

    k, a, b = list(map(int, input().split()))



    if b - a < 2 or k - a < 1:

        print((k + 1))

    else:

        k -= a - 1

        q, k = divmod(k, 2)

        res = a + q * (b - a) + k

        print(res)





if __name__ == '__main__':

    resolve()

import sys

sys.setrecursionlimit(10**7)
f_inf = float("inf")
mod = 10**9 + 7


def resolve():
    k, a, b = list(map(int, input().split()))
    if b - a < 2:
        print((k + 1))
    else:
        n = k - a + 1
        res = a + n // 2 * (b - a)
        res += 1 if n % 2 != 0 else 0
        print(res)


if __name__ == "__main__":
    resolve()

import sys

sys.setrecursionlimit(10**7)
input = sys.stdin.readline
f_inf = float("inf")
mod = 10**9 + 7


def resolve():
    k, a, b = list(map(int, input().split()))
    if b - a < 2 or k - a < 1:
        print((k + 1))
    else:
        k -= a - 1
        q, k = divmod(k, 2)
        res = a + q * (b - a) + k
        print(res)


if __name__ == "__main__":
    resolve()

+input = sys.stdin.readline -    if b - a < 2: +    if b - a < 2 or k - a < 1: -        n = k - a + 1 -        res = a + n // 2 * (b - a) -        res += 1 if n % 2 != 0 else 0 +        k -= a - 1 +        q, k = divmod(k, 2) +        res = a + q * (b - a) + k