N, a, b = list(map(int, input().split()))
p = 10 ** 9 + 7

factinv = [1, 1]
inv = [0, 1]

for i in range(2, 10**6):
    inv.append((-inv[p % i] * (p // i)) % p)
    factinv.append((factinv[-1] * inv[-1]) % p)

def comb(n, k):
    cmb = 1
    for i in range(n-k+1, n+1):
        cmb = cmb * i % p
    return cmb * factinv[k]


print(((2 ** N - 1) % p - comb(N, a) % p - comb(N, b) % p) % p) N, a, b = list(map(int, input().split())) N list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split a b p = 10 ** 9 + 7 p 10 ** 9 + 7 10 ** 9 10 9 7 factinv = [1, 1] factinv [1, 1] 1 1 inv = [0, 1] inv [0, 1] 0 1 for i in range(2, 10**6):
    inv.append((-inv[p % i] * (p // i)) % p)
    factinv.append((factinv[-1] * inv[-1]) % p) i range(2, 10**6) range 2 10**6 10 6 inv.append((-inv[p % i] * (p // i)) % p) inv.append inv append (-inv[p % i] * (p // i)) % p -inv[p % i] * (p // i) -inv[p % i] inv[p % i] inv p % i p i p // i p i p factinv.append((factinv[-1] * inv[-1]) % p) factinv.append factinv append (factinv[-1] * inv[-1]) % p factinv[-1] * inv[-1] factinv[-1] factinv -1 inv[-1] inv -1 p def comb(n, k):
    cmb = 1
    for i in range(n-k+1, n+1):
        cmb = cmb * i % p
    return cmb * factinv[k] comb cmb = 1 cmb 1 for i in range(n-k+1, n+1):
        cmb = cmb * i % p
     i range(n-k+1, n+1) range n-k+1 n-k n k 1 n+1 n 1 cmb = cmb * i % p cmb cmb * i % p cmb * i cmb i p return cmb * factinv[k] cmb * factinv[k] cmb factinv[k] factinv k n n k k print(((2 ** N - 1) % p - comb(N, a) % p - comb(N, b) % p) % p) print ((2 ** N - 1) % p - comb(N, a) % p - comb(N, b) % p) % p (2 ** N - 1) % p - comb(N, a) % p - comb(N, b) % p (2 ** N - 1) % p - comb(N, a) % p (2 ** N - 1) % p 2 ** N - 1 2 ** N 2 N 1 p comb(N, a) % p comb(N, a) comb N a p comb(N, b) % p comb(N, b) comb N b p p N, a, b = list(map(int, input().split())) list(map(int, input().split())) N b = list(map(int, input().split())) list(map(int, input().split())) b p = 10 ** 9 + 7 10 ** 9 + 7 p a, b = list(map(int, input().split())) list(map(int, input().split())) a factinv = [1, 1] [1, 1] factinv inv = [0, 1] [0, 1] inv def comb(n, k):
    cmb = 1
    for i in range(n-k+1, n+1):
        cmb = cmb * i % p
    return cmb * factinv[k] def comb(n, k):
    cmb = 1
    for i in range(n-k+1, n+1):
        cmb = cmb * i % p
    return cmb * factinv[k] comb
N, a, b = list(map(int, input().split()))
p = 10 ** 9 + 7

factinv = [1, 1]
inv = [0, 1]

for i in range(2, 10**6):
    inv.append((-inv[p % i] * (p // i)) % p)
    factinv.append((factinv[-1] * inv[-1]) % p)

def comb(n, k):
    cmb = 1
    for i in range(n-k+1, n+1):
        cmb = cmb * i % p
    return cmb * factinv[k]


print(((2 ** N - 1) % p - comb(N, a) % p - comb(N, b) % p) % p)
