import functools
import operator

n, a, b = map(int, input().split())

def nCr(n, r):
    r = min(r, n-r)
    if r == 0:
        return 1
    num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1))
    den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1)))
    return num * den % mod

mod = 10**9 + 7
print((pow(2, n, mod) - nCr(n, a) - nCr(n, b) - 1) % mod) import functools functools import operator operator n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b def nCr(n, r):
    r = min(r, n-r)
    if r == 0:
        return 1
    num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1))
    den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1)))
    return num * den % mod nCr r = min(r, n-r) r min(r, n-r) min r n-r n r if r == 0:
        return 1
     r == 0 r 0 return 1 1 num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1)) num functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1)) functools.reduce functools reduce lambda x, y: x*y%mod x*y%mod x*y x y mod x y range(n, n-r, -1) range n n-r n r -1 den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1))) den functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1))) functools.reduce functools reduce lambda x, y: x*y%mod x*y%mod x*y x y mod x y map(lambda x: pow(x, mod-2, mod), range(1, r+1)) map lambda x: pow(x, mod-2, mod) pow(x, mod-2, mod) pow x mod-2 mod 2 mod x range(1, r+1) range 1 r+1 r 1 return num * den % mod num * den % mod num * den num den mod n n r r mod = 10**9 + 7 mod 10**9 + 7 10**9 10 9 7 print((pow(2, n, mod) - nCr(n, a) - nCr(n, b) - 1) % mod) print (pow(2, n, mod) - nCr(n, a) - nCr(n, b) - 1) % mod pow(2, n, mod) - nCr(n, a) - nCr(n, b) - 1 pow(2, n, mod) - nCr(n, a) - nCr(n, b) pow(2, n, mod) - nCr(n, a) pow(2, n, mod) pow 2 n mod nCr(n, a) nCr n a nCr(n, b) nCr n b 1 mod n, a, b = map(int, input().split()) map(int, input().split()) n def nCr(n, r):
    r = min(r, n-r)
    if r == 0:
        return 1
    num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1))
    den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1)))
    return num * den % mod def nCr(n, r):
    r = min(r, n-r)
    if r == 0:
        return 1
    num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1))
    den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1)))
    return num * den % mod nCr b = map(int, input().split()) map(int, input().split()) b mod = 10**9 + 7 10**9 + 7 mod a, b = map(int, input().split()) map(int, input().split()) a
import functools
import operator

n, a, b = map(int, input().split())

def nCr(n, r):
    r = min(r, n-r)
    if r == 0:
        return 1
    num = functools.reduce(lambda x, y: x*y%mod, range(n, n-r, -1))
    den = functools.reduce(lambda x, y: x*y%mod, map(lambda x: pow(x, mod-2, mod), range(1, r+1)))
    return num * den % mod

mod = 10**9 + 7
print((pow(2, n, mod) - nCr(n, a) - nCr(n, b) - 1) % mod)
