fun main(args: Array<String>) {
    val (k, a, b) = readLongArray()

    if (a + 2 >= b) {
        println(k + 1)
    } else {
        val count = Math.max(0, (k - (a - 1)) / 2)
        val remain = k - (count * 2 + (a - 1))
        val ans = if (k >= (a - 1) + 2) a + count * (b - a) + remain else k + 1
        println(ans)
    }
}

fun readInteger() = readLine()!!.toInt()
fun readLong() = readLine()!!.toLong()
fun readStringList() = readLine()!!.split(" ")
fun readIntegerArray() = readStringList().map(String::toInt).toIntArray()
fun readLongArray() = readStringList().map(String::toLong).toLongArray()
