def modpow(a, n, mod):
    if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする
def modinv(a, mod):
    return modpow(a, mod-2, mod) % mod

def moddiv(a, b, mod):
    return ((a%mod) * modinv(b, mod)) % mod

# nがある程度小さい時(10^7程度)
def modcombination(n, k, mod):
    fact = [1 for _ in range(n+1)]
    inv = [1 for _ in range(n+1)]
    finv = [1 for _ in range(n+1)]

    for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
    return fact[n] * (finv[k] * finv[n-k] % mod) % mod

# kが小さい時
def modcombination_smallk(n, k, mod):
    result = 1
    for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
    return result

n, a, b = [int(i) for i in input().split()]
mod = (10**9)+7
# 全部でn**2(0本は除くかも)
# a本を選ぶ場合の数はnCa
total = modpow(2, n, mod)
tota = modcombination_smallk(n, a, mod)
totb = modcombination_smallk(n, b, mod) 
print((total-tota-totb-1)%mod) def modpow(a, n, mod):
    if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする modpow if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする n == 0 n 0 return 1 1 if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする n % 2 == 0 n % 2 n 2 0 return (modpow((a * a)%mod, n//2, mod)) % mod (modpow((a * a)%mod, n//2, mod)) % mod modpow((a * a)%mod, n//2, mod) modpow (a * a)%mod a * a a a mod n//2 n 2 mod mod return ((a%mod) * modpow(a, n-1, mod)) % mod ((a%mod) * modpow(a, n-1, mod)) % mod (a%mod) * modpow(a, n-1, mod) a%mod a mod modpow(a, n-1, mod) modpow a n-1 n 1 mod mod a a n n mod mod def modinv(a, mod):
    return modpow(a, mod-2, mod) % mod modinv return modpow(a, mod-2, mod) % mod modpow(a, mod-2, mod) % mod modpow(a, mod-2, mod) modpow a mod-2 mod 2 mod mod a a mod mod def moddiv(a, b, mod):
    return ((a%mod) * modinv(b, mod)) % mod

# nがある程度小さい時(10^7程度) moddiv return ((a%mod) * modinv(b, mod)) % mod ((a%mod) * modinv(b, mod)) % mod (a%mod) * modinv(b, mod) a%mod a mod modinv(b, mod) modinv b mod mod a a b b mod mod def modcombination(n, k, mod):
    fact = [1 for _ in range(n+1)]
    inv = [1 for _ in range(n+1)]
    finv = [1 for _ in range(n+1)]

    for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
    return fact[n] * (finv[k] * finv[n-k] % mod) % mod

# kが小さい時 modcombination 1 for _ in range(n+1) for _ in range(n+1) _ range(n+1) range n+1 n 1 for _ in range(n+1) 1 fact = [1 for _ in range(n+1)] fact [1 for _ in range(n+1)] 1 for _ in range(n+1) for _ in range(n+1) _ range(n+1) range n+1 n 1 for _ in range(n+1) 1 inv = [1 for _ in range(n+1)] inv [1 for _ in range(n+1)] 1 for _ in range(n+1) for _ in range(n+1) _ range(n+1) range n+1 n 1 for _ in range(n+1) 1 finv = [1 for _ in range(n+1)] finv [1 for _ in range(n+1)] for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
     i range(2, n+1) range 2 n+1 n 1 fact[i] = (fact[i-1] * i) % mod fact[i] fact i (fact[i-1] * i) % mod fact[i-1] * i fact[i-1] fact i-1 i 1 i mod inv[i] = (-inv[mod % i] * (mod // i)) % mod inv[i] inv i (-inv[mod % i] * (mod // i)) % mod -inv[mod % i] * (mod // i) -inv[mod % i] inv[mod % i] inv mod % i mod i mod // i mod i mod finv[i] = (finv[i-1] * inv[i]) % mod finv[i] finv i (finv[i-1] * inv[i]) % mod finv[i-1] * inv[i] finv[i-1] finv i-1 i 1 inv[i] inv i mod return fact[n] * (finv[k] * finv[n-k] % mod) % mod fact[n] * (finv[k] * finv[n-k] % mod) % mod fact[n] * (finv[k] * finv[n-k] % mod) fact[n] fact n finv[k] * finv[n-k] % mod finv[k] * finv[n-k] finv[k] finv k finv[n-k] finv n-k n k mod mod n n k k mod mod def modcombination_smallk(n, k, mod):
    result = 1
    for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
    return result modcombination_smallk result = 1 result 1 for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
     i range(k) range k result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod result (((result * (n-i))%mod) * modinv(i+1, mod))%mod ((result * (n-i))%mod) * modinv(i+1, mod) (result * (n-i))%mod result * (n-i) result n-i n i mod modinv(i+1, mod) modinv i+1 i 1 mod mod return result result n n k k mod mod int(i) for i in input().split() for i in input().split() i input().split() ().split () input split for i in input().split() int(i) int i n, a, b = [int(i) for i in input().split()] n [int(i) for i in input().split()] a b mod = (10**9)+7 mod (10**9)+7 10**9 10 9 7 total = modpow(2, n, mod) total modpow(2, n, mod) modpow 2 n mod tota = modcombination_smallk(n, a, mod) tota modcombination_smallk(n, a, mod) modcombination_smallk n a mod totb = modcombination_smallk(n, b, mod) totb modcombination_smallk(n, b, mod) modcombination_smallk n b mod print((total-tota-totb-1)%mod) print (total-tota-totb-1)%mod total-tota-totb-1 total-tota-totb total-tota total tota totb 1 mod b = [int(i) for i in input().split()] [int(i) for i in input().split()] b total = modpow(2, n, mod) modpow(2, n, mod) total def modpow(a, n, mod):
    if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする def modpow(a, n, mod):
    if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする modpow def modcombination(n, k, mod):
    fact = [1 for _ in range(n+1)]
    inv = [1 for _ in range(n+1)]
    finv = [1 for _ in range(n+1)]

    for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
    return fact[n] * (finv[k] * finv[n-k] % mod) % mod

# kが小さい時 def modcombination(n, k, mod):
    fact = [1 for _ in range(n+1)]
    inv = [1 for _ in range(n+1)]
    finv = [1 for _ in range(n+1)]

    for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
    return fact[n] * (finv[k] * finv[n-k] % mod) % mod

# kが小さい時 modcombination n, a, b = [int(i) for i in input().split()] [int(i) for i in input().split()] n totb = modcombination_smallk(n, b, mod) modcombination_smallk(n, b, mod) totb def modcombination_smallk(n, k, mod):
    result = 1
    for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
    return result def modcombination_smallk(n, k, mod):
    result = 1
    for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
    return result modcombination_smallk a, b = [int(i) for i in input().split()] [int(i) for i in input().split()] a def moddiv(a, b, mod):
    return ((a%mod) * modinv(b, mod)) % mod

# nがある程度小さい時(10^7程度) def moddiv(a, b, mod):
    return ((a%mod) * modinv(b, mod)) % mod

# nがある程度小さい時(10^7程度) moddiv mod = (10**9)+7 (10**9)+7 mod tota = modcombination_smallk(n, a, mod) modcombination_smallk(n, a, mod) tota def modinv(a, mod):
    return modpow(a, mod-2, mod) % mod def modinv(a, mod):
    return modpow(a, mod-2, mod) % mod modinv
def modpow(a, n, mod):
    if n == 0:
        return 1
    else:
        if n % 2 == 0:
            return (modpow((a * a)%mod, n//2, mod)) % mod
        else:
            return ((a%mod) * modpow(a, n-1, mod)) % mod

# modが素であるとする
def modinv(a, mod):
    return modpow(a, mod-2, mod) % mod

def moddiv(a, b, mod):
    return ((a%mod) * modinv(b, mod)) % mod

# nがある程度小さい時(10^7程度)
def modcombination(n, k, mod):
    fact = [1 for _ in range(n+1)]
    inv = [1 for _ in range(n+1)]
    finv = [1 for _ in range(n+1)]

    for i in range(2, n+1):
        fact[i] = (fact[i-1] * i) % mod
        inv[i] = (-inv[mod % i] * (mod // i)) % mod
        finv[i] = (finv[i-1] * inv[i]) % mod
    return fact[n] * (finv[k] * finv[n-k] % mod) % mod

# kが小さい時
def modcombination_smallk(n, k, mod):
    result = 1
    for i in range(k):
        result = (((result * (n-i))%mod) * modinv(i+1, mod))%mod
    return result

n, a, b = [int(i) for i in input().split()]
mod = (10**9)+7
# 全部でn**2(0本は除くかも)
# a本を選ぶ場合の数はnCa
total = modpow(2, n, mod)
tota = modcombination_smallk(n, a, mod)
totb = modcombination_smallk(n, b, mod) 
print((total-tota-totb-1)%mod)