def modpow(x, n, m):
    res = 1
    while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
    return res

def combination(n, r, m):
    res = 1
    r = min(r, n - r)

    for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
    return res

mod = 10**9 + 7
n, a, b = map(int, input().split())
total = modpow(2, n, mod) - 1

total = (total - combination(n, a, mod) - combination(n, b, mod)) % mod

print(total) def modpow(x, n, m):
    res = 1
    while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
    return res modpow res = 1 res 1 while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
     n > 0 n 0 if n % 2 == 1:
            res = (res * x) % m
         n % 2 == 1 n % 2 n 2 1 res = (res * x) % m res (res * x) % m res * x res x m x = (x * x) % m x (x * x) % m x * x x x m n >>= 1 n 1 return res res x x n n m m def combination(n, r, m):
    res = 1
    r = min(r, n - r)

    for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
    return res combination res = 1 res 1 r = min(r, n - r) r min(r, n - r) min r n - r n r for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
     i range(1, r + 1) range 1 r + 1 r 1 res = res * (n - r + i) % m res res * (n - r + i) % m res * (n - r + i) res n - r + i n - r n r i m res = res * modpow(i, m - 2, m) % m res res * modpow(i, m - 2, m) % m res * modpow(i, m - 2, m) res modpow(i, m - 2, m) modpow i m - 2 m 2 m m return res res n n r r m m mod = 10**9 + 7 mod 10**9 + 7 10**9 10 9 7 n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b total = modpow(2, n, mod) - 1 total modpow(2, n, mod) - 1 modpow(2, n, mod) modpow 2 n mod 1 total = (total - combination(n, a, mod) - combination(n, b, mod)) % mod total (total - combination(n, a, mod) - combination(n, b, mod)) % mod total - combination(n, a, mod) - combination(n, b, mod) total - combination(n, a, mod) total combination(n, a, mod) combination n a mod combination(n, b, mod) combination n b mod mod print(total) print total mod = 10**9 + 7 10**9 + 7 mod b = map(int, input().split()) map(int, input().split()) b total = (total - combination(n, a, mod) - combination(n, b, mod)) % mod (total - combination(n, a, mod) - combination(n, b, mod)) % mod total def modpow(x, n, m):
    res = 1
    while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
    return res def modpow(x, n, m):
    res = 1
    while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
    return res modpow def combination(n, r, m):
    res = 1
    r = min(r, n - r)

    for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
    return res def combination(n, r, m):
    res = 1
    r = min(r, n - r)

    for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
    return res combination total = modpow(2, n, mod) - 1 modpow(2, n, mod) - 1 total a, b = map(int, input().split()) map(int, input().split()) a n, a, b = map(int, input().split()) map(int, input().split()) n
def modpow(x, n, m):
    res = 1
    while n > 0:
        if n % 2 == 1:
            res = (res * x) % m
        x = (x * x) % m
        n >>= 1
    return res

def combination(n, r, m):
    res = 1
    r = min(r, n - r)

    for i in range(1, r + 1):
        res = res * (n - r + i) % m
        res = res * modpow(i, m - 2, m) % m
    return res

mod = 10**9 + 7
n, a, b = map(int, input().split())
total = modpow(2, n, mod) - 1

total = (total - combination(n, a, mod) - combination(n, b, mod)) % mod

print(total)