def bigcmb(N, R, MOD):
    if (R < 0) or (N < R):
        return 0
    R = min(R, N - R)
    fact, inv = 1, 1
    for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
    return fact * pow(inv, MOD - 2, MOD) % MOD


n, a, b = map(int, input().split())
mod = 10 ** 9 + 7

exc = bigcmb(n, a, mod) + bigcmb(n, b, mod)
print((pow(2, n, mod) - exc - 1) % mod) def bigcmb(N, R, MOD):
    if (R < 0) or (N < R):
        return 0
    R = min(R, N - R)
    fact, inv = 1, 1
    for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
    return fact * pow(inv, MOD - 2, MOD) % MOD bigcmb if (R < 0) or (N < R):
        return 0
     (R < 0) or (N < R) R < 0 R 0 N < R N R return 0 0 R = min(R, N - R) R min(R, N - R) min R N - R N R fact, inv = 1, 1 fact 1 inv 1 for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
     i range(1, R + 1) range 1 R + 1 R 1 fact = (fact * (N - i + 1)) % MOD fact (fact * (N - i + 1)) % MOD fact * (N - i + 1) fact N - i + 1 N - i N i 1 MOD inv = (inv * i) % MOD inv (inv * i) % MOD inv * i inv i MOD return fact * pow(inv, MOD - 2, MOD) % MOD fact * pow(inv, MOD - 2, MOD) % MOD fact * pow(inv, MOD - 2, MOD) fact pow(inv, MOD - 2, MOD) pow inv MOD - 2 MOD 2 MOD MOD N N R R MOD MOD n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 exc = bigcmb(n, a, mod) + bigcmb(n, b, mod) exc bigcmb(n, a, mod) + bigcmb(n, b, mod) bigcmb(n, a, mod) bigcmb n a mod bigcmb(n, b, mod) bigcmb n b mod print((pow(2, n, mod) - exc - 1) % mod) print (pow(2, n, mod) - exc - 1) % mod pow(2, n, mod) - exc - 1 pow(2, n, mod) - exc pow(2, n, mod) pow 2 n mod exc 1 mod n, a, b = map(int, input().split()) map(int, input().split()) n a, b = map(int, input().split()) map(int, input().split()) a def bigcmb(N, R, MOD):
    if (R < 0) or (N < R):
        return 0
    R = min(R, N - R)
    fact, inv = 1, 1
    for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
    return fact * pow(inv, MOD - 2, MOD) % MOD def bigcmb(N, R, MOD):
    if (R < 0) or (N < R):
        return 0
    R = min(R, N - R)
    fact, inv = 1, 1
    for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
    return fact * pow(inv, MOD - 2, MOD) % MOD bigcmb exc = bigcmb(n, a, mod) + bigcmb(n, b, mod) bigcmb(n, a, mod) + bigcmb(n, b, mod) exc b = map(int, input().split()) map(int, input().split()) b mod = 10 ** 9 + 7 10 ** 9 + 7 mod
def bigcmb(N, R, MOD):
    if (R < 0) or (N < R):
        return 0
    R = min(R, N - R)
    fact, inv = 1, 1
    for i in range(1, R + 1):
        fact = (fact * (N - i + 1)) % MOD
        inv = (inv * i) % MOD
    return fact * pow(inv, MOD - 2, MOD) % MOD


n, a, b = map(int, input().split())
mod = 10 ** 9 + 7

exc = bigcmb(n, a, mod) + bigcmb(n, b, mod)
print((pow(2, n, mod) - exc - 1) % mod)
