K,A,B = list(map(int,input().split()))

if B<=A+2 or K<=A-1:

    ans = 1+K

else:

    cnt = A-1

    ans = A

    while cnt<=K:

        k = min(ans//A,(K-cnt)//2)

        if k>=1:

            cnt += 2*k

            ans = ans-k*A + k*B

        else:

            ans += (K-cnt)

            break

print(ans)
K,A,B = list(map(int,input().split()))

if B-A<=2:

    print((1+K))

else:

    if K<=A-1:

        print((1+K))

    else:

        d = K-(A-1)

        if d==1:

            print((A+1))

        elif d%2==0:

            print((B+((d-2)//2)*(B-A)))

        else:

            print((B+((d-3)//2)*(B-A)+1))
K, A, B = list(map(int, input().split()))
if B <= A + 2 or K <= A - 1:
    ans = 1 + K
else:
    cnt = A - 1
    ans = A
    while cnt <= K:
        k = min(ans // A, (K - cnt) // 2)
        if k >= 1:
            cnt += 2 * k
            ans = ans - k * A + k * B
        else:
            ans += K - cnt
            break
print(ans)

K, A, B = list(map(int, input().split()))
if B - A <= 2:
    print((1 + K))
else:
    if K <= A - 1:
        print((1 + K))
    else:
        d = K - (A - 1)
        if d == 1:
            print((A + 1))
        elif d % 2 == 0:
            print((B + ((d - 2) // 2) * (B - A)))
        else:
            print((B + ((d - 3) // 2) * (B - A) + 1))

-if B <= A + 2 or K <= A - 1: -    ans = 1 + K +if B - A <= 2: +    print((1 + K)) -    cnt = A - 1 -    ans = A -    while cnt <= K: -        k = min(ans // A, (K - cnt) // 2) -        if k >= 1: -            cnt += 2 * k -            ans = ans - k * A + k * B +    if K <= A - 1: +        print((1 + K)) +    else: +        d = K - (A - 1) +        if d == 1: +            print((A + 1)) +        elif d % 2 == 0: +            print((B + ((d - 2) // 2) * (B - A))) -            ans += K - cnt -            break -print(ans) +            print((B + ((d - 3) // 2) * (B - A) + 1))