"use strict";
function Main(input) {
    let nums = input.split(/\s/).map((v) => v - 0);

    const K = nums[0];
    const A = nums[1];
    const B = nums[2];

    let bs = 1;
    let yen = 0;
    
    if ((A + 1) < B) {
        if (A + 1 <= K) {
            let k = K;
            bs = B;
            k -= (A + 1);

            if (bs < A) {
                let m = Math.floor(k / (A + 2));
                let r = k - (m * (A + 2));
                bs += (B * m);
                bs += r;
            } else {
                bs += Math.floor(k / 2) * (B - A);
                if (k % 2 == 1) bs += 1;
            }
        } else {
            bs += K;
        }

    } else {
        bs += K;
    }
    console.log(bs);
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));
