import sys
 
stdin = sys.stdin
 
ni = lambda: int(ns())
na = lambda: list(map(int, stdin.readline().split()))
ns = lambda: stdin.readline().rstrip()  # ignore trailing spaces
 
n, a, b = na()
mod = 1000000007
 
def comb(n, r, mod):
    if n < 0 or r < 0 or r > n: return 0
    nu = 1
    de = 1
    for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
    return nu * inv(de, mod) % mod
 
def inv(a, mod):
    b = mod
    p, q = 1, 0
    while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
    return p+mod if p < 0 else p
 
print((pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) - 1)%mod) import sys sys stdin = sys.stdin stdin sys.stdin sys stdin ni = lambda: int(ns()) ni lambda: int(ns()) int(ns()) int ns() ns na = lambda: list(map(int, stdin.readline().split())) na lambda: list(map(int, stdin.readline().split())) list(map(int, stdin.readline().split())) list map(int, stdin.readline().split()) map int stdin.readline().split() stdin.readline().split stdin.readline() stdin.readline stdin readline split ns = lambda: stdin.readline().rstrip() ns lambda: stdin.readline().rstrip() stdin.readline().rstrip() stdin.readline().rstrip stdin.readline() stdin.readline stdin readline rstrip n, a, b = na() n na() na a b mod = 1000000007 mod 1000000007 def comb(n, r, mod):
    if n < 0 or r < 0 or r > n: return 0
    nu = 1
    de = 1
    for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
    return nu * inv(de, mod) % mod
  comb if n < 0 or r < 0 or r > n: return 0
     n < 0 or r < 0 or r > n n < 0 or r < 0 n < 0 n 0 r < 0 r 0 r > n r n nu = 1 nu 1 de = 1 de 1 for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
     i range(r) range r nu = nu * (n-i) % mod nu nu * (n-i) % mod nu * (n-i) nu n-i n i mod de = de * (i+1) % mod de de * (i+1) % mod de * (i+1) de i+1 i 1 mod return nu * inv(de, mod) % mod nu * inv(de, mod) % mod nu * inv(de, mod) nu inv(de, mod) inv de mod mod n n r r mod mod def inv(a, mod):
    b = mod
    p, q = 1, 0
    while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
    return p+mod if p < 0 else p
  inv b = mod b mod p, q = 1, 0 p 1 q 0 while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
     b > 0 b 0 c = a//b c a//b a b d = a d a a = b a b b = d % b b d % b d b d = p d p p = q p q q = d-c*q q d-c*q d c*q c q return p+mod if p < 0 else p p+mod if p < 0 else p p < 0 p 0 p+mod p mod p a a mod mod print((pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) - 1)%mod) print (pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) - 1)%mod pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) - 1 pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) pow(2, n, mod) - comb(n, a, mod) pow(2, n, mod) pow 2 n mod comb(n, a, mod) comb n a mod comb(n, b, mod) comb n b mod 1 mod na = lambda: list(map(int, stdin.readline().split())) lambda: list(map(int, stdin.readline().split())) na def inv(a, mod):
    b = mod
    p, q = 1, 0
    while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
    return p+mod if p < 0 else p
  def inv(a, mod):
    b = mod
    p, q = 1, 0
    while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
    return p+mod if p < 0 else p
  inv ns = lambda: stdin.readline().rstrip() lambda: stdin.readline().rstrip() ns n, a, b = na() na() n ni = lambda: int(ns()) lambda: int(ns()) ni stdin = sys.stdin sys.stdin stdin mod = 1000000007 1000000007 mod a, b = na() na() a b = na() na() b def comb(n, r, mod):
    if n < 0 or r < 0 or r > n: return 0
    nu = 1
    de = 1
    for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
    return nu * inv(de, mod) % mod
  def comb(n, r, mod):
    if n < 0 or r < 0 or r > n: return 0
    nu = 1
    de = 1
    for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
    return nu * inv(de, mod) % mod
  comb
import sys
 
stdin = sys.stdin
 
ni = lambda: int(ns())
na = lambda: list(map(int, stdin.readline().split()))
ns = lambda: stdin.readline().rstrip()  # ignore trailing spaces
 
n, a, b = na()
mod = 1000000007
 
def comb(n, r, mod):
    if n < 0 or r < 0 or r > n: return 0
    nu = 1
    de = 1
    for i in range(r):
        nu = nu * (n-i) % mod
        de = de * (i+1) % mod
    return nu * inv(de, mod) % mod
 
def inv(a, mod):
    b = mod
    p, q = 1, 0
    while b > 0:
        c = a//b
        d = a; a = b; b = d % b
        d = p; p = q; q = d-c*q
    return p+mod if p < 0 else p
 
print((pow(2, n, mod) - comb(n, a, mod) - comb(n, b, mod) - 1)%mod)