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

    val MOD = 1000000007L
    val all = pow(2, n.toLong(), MOD) - 1

    var nPa = calcNPermutationM(n, a, MOD)
    val nCa = nPa * inverse(calcFactorial(a, MOD), MOD)

    var nPb = calcNPermutationM(n, b, MOD)
    val nCb = nPb * inverse(calcFactorial(b, MOD), MOD)

    var tmp = if (all - nCa < 0) {
        val tmp2 = (all - nCa) % MOD
        (tmp2 + MOD) % MOD
    } else {
        (all - nCa) % MOD
    }
    tmp = if ((tmp - nCb) % MOD < 0) {
        val tmp2 = (tmp - nCb) % MOD
        (tmp2 + MOD) % MOD
    } else {
        (tmp - nCb) % MOD
    }
    println(tmp)
}

fun calcNPermutationM(n: Long, m: Long, MOD: Long): Long {
    var ret = 1L
    for (i in (n - m + 1)..n) {
        ret = (ret * i) % MOD
    }
    return ret
}

fun calcFactorial(x: Long, MOD: Long) = calcNPermutationM(x, x, MOD)

fun pow(n: Long, m: Long, MOD: Long): Long {
    var ret = 1L
    var x = n
    var k = m
    while (k > 0) {
        if ((k and 1L) == 1L) {
            ret = (ret * x) % MOD
        }
        x = (x * x) % MOD
        k = k shr 1
    }

    return ret
}

fun inverse(n: Long, MOD: Long) = pow(n, MOD - 2L, MOD)

//class Combination(n: Int, private val MOD: Long) {
//    val fact = Array(n + 1) { 0L }
//    val ifact = Array(n + 1) { 0L }
//
//    init {
//        fact[0] = 1
//        for (i in 1..n) {
//            fact[i] = (fact[i - 1] * i) % MOD
//        }
//        ifact[n] = pow(fact[n], MOD - 2, MOD)
//        for (i in n downTo 1) {
//            ifact[i - 1] = (ifact[i] * i) % MOD
//        }
//    }
//
//    fun value(n: Int, k: Int): Long {
//        if (k < 0 || k > n) {
//            return 0
//        }
//
//        val tmp = (fact[n] * ifact[k]) % MOD
//        return (tmp * ifact[n-k]) % MOD
//    }
//}

fun readInteger() = readLine()!!.toInt()
fun readLong() = readLine()!!.toLong()
fun readStringList() = readLine()!!.split(" ")
fun readIntegerList() = readStringList().map(String::toInt)
fun readLongList() = readStringList().map(String::toLong)
