object Main extends App {
	val Array(n, a, b) = scala.io.StdIn.readLine.split(" ").map(_.toLong)

	val p = 1000000007L

	val p1 = powMod(2L, n, p)
	val p2 = combi(n, a, p)
	val p3 = combi(n, b, p)

	val ans = (p1 - p2 - p3 - 1L)%p

	if(ans < 0) println(p + ans)
	else println(ans)

	
	// https://atcoder.jp/contests/abc156/submissions/10731760
	def combi(n: Long, r: Long, p: Long): BigInt = {
		val tp1 = (n - r + 1L to n).foldLeft(1L)((z, i) => z * i % p)
		return (2L to r).foldLeft(BigInt(tp1))((z, i) => BigInt(i).modInverse(p) * z % p)
	}

	def powMod(a: Long, n: Long, p: Long): Long = {
    	def subpowMod(a: Long, n: Long, mul: Long): Long = {
    		n match{
				case 1L => a * mul % p
				case _  => subpowMod(a*a%p, n/2L, mul * (if((n&1) == 1) a else 1) % p )
    		}
    	}
    	subpowMod(a, n, 1L)
  	}