object Main extends App {
	val sc = new java.util.Scanner(System.in)
	val pw = new java.io.PrintWriter(System.out)
	
	val n, a, b = sc.nextInt
	
	val M = BigInt(1000000007)
	val fac, finv, inv = Array.fill(n)(BigInt(1))
	
    for(i <- (2 until fac.size)) {
    	val bi = BigInt(i)
    	fac(i) = fac(i - 1) * bi % M
    	inv(i) = M - inv((M % bi).toInt) * (M / bi) % M
    	finv(i) = finv(i - 1) * inv(i) % M
    }
    
    def cmb(k: Int): BigInt =
    	if (n < k) 0
    	else if (n < 0 || k < 0) 0
    	else fac(n) * (finv(k) * finv(n - k) % M) % M;

	pw.println((1 to n).filter(i => i != a && i != b).foldLeft(BigInt(0))((z, i) => (z + cmb(i)) % M).toInt)
	pw.flush()
}