n, a, b = map(int, input().split())
m = max(a, b)
mod = 10 ** 9 + 7

def binary(n):
    return bin(n)[2:]

# バイナリ法
def pow_by_binary_exponentiation(a, x, n): # a^x mod n
    x = [int(b) for b in binary(x)]
    y = a
    for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
    return y

ans = pow_by_binary_exponentiation(2, n, mod)
ans -= 1

N = max(a, b)
fact = [1] * (N + 1)

for i in range(N):
    fact[i + 1] = fact[i] * (i + 1) % mod


def comb(r):
    c = n
    for i in range(1, r):
        c = (c * (n - i)) % mod
    c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod
    return c

ans = (ans - comb(a)) % mod
ans = (ans - comb(b)) % mod
print(ans) n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b m = max(a, b) m max(a, b) max a b mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 def binary(n):
    return bin(n)[2:]

# バイナリ法 binary return bin(n)[2:] bin(n)[2:] (n) bin n 2: 2 n n def pow_by_binary_exponentiation(a, x, n): # a^x mod n
    x = [int(b) for b in binary(x)]
    y = a
    for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
    return y pow_by_binary_exponentiation int(b) for b in binary(x) for b in binary(x) b binary(x) binary x for b in binary(x) int(b) int b x = [int(b) for b in binary(x)] x [int(b) for b in binary(x)] y = a y a for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
     i range(1, len(x)) range 1 len(x) len x y = (y**2) % n y (y**2) % n y**2 y 2 n if x[i] == 1:
            y = (y * a) % n
     x[i] == 1 x[i] x i 1 y = (y * a) % n y (y * a) % n y * a y a n return y y a a x x n n ans = pow_by_binary_exponentiation(2, n, mod) ans pow_by_binary_exponentiation(2, n, mod) pow_by_binary_exponentiation 2 n mod ans -= 1 ans 1 N = max(a, b) N max(a, b) max a b fact = [1] * (N + 1) fact [1] * (N + 1) [1] 1 N + 1 N 1 for i in range(N):
    fact[i + 1] = fact[i] * (i + 1) % mod i range(N) range N fact[i + 1] = fact[i] * (i + 1) % mod fact[i + 1] fact i + 1 i 1 fact[i] * (i + 1) % mod fact[i] * (i + 1) fact[i] fact i i + 1 i 1 mod def comb(r):
    c = n
    for i in range(1, r):
        c = (c * (n - i)) % mod
    c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod
    return c comb c = n c n for i in range(1, r):
        c = (c * (n - i)) % mod
     i range(1, r) range 1 r c = (c * (n - i)) % mod c (c * (n - i)) % mod c * (n - i) c n - i n i mod c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod c c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) c pow_by_binary_exponentiation(fact[r], mod - 2, mod) pow_by_binary_exponentiation fact[r] fact r mod - 2 mod 2 mod mod return c c r r ans = (ans - comb(a)) % mod ans (ans - comb(a)) % mod ans - comb(a) ans comb(a) comb a mod ans = (ans - comb(b)) % mod ans (ans - comb(b)) % mod ans - comb(b) ans comb(b) comb b mod print(ans) print ans ans -= 1 1 ans a, b = map(int, input().split()) map(int, input().split()) a fact = [1] * (N + 1) [1] * (N + 1) fact ans = (ans - comb(a)) % mod (ans - comb(a)) % mod ans def binary(n):
    return bin(n)[2:]

# バイナリ法 def binary(n):
    return bin(n)[2:]

# バイナリ法 binary n, a, b = map(int, input().split()) map(int, input().split()) n mod = 10 ** 9 + 7 10 ** 9 + 7 mod ans = (ans - comb(b)) % mod (ans - comb(b)) % mod ans N = max(a, b) max(a, b) N m = max(a, b) max(a, b) m ans = pow_by_binary_exponentiation(2, n, mod) pow_by_binary_exponentiation(2, n, mod) ans def comb(r):
    c = n
    for i in range(1, r):
        c = (c * (n - i)) % mod
    c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod
    return c def comb(r):
    c = n
    for i in range(1, r):
        c = (c * (n - i)) % mod
    c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod
    return c comb b = map(int, input().split()) map(int, input().split()) b def pow_by_binary_exponentiation(a, x, n): # a^x mod n
    x = [int(b) for b in binary(x)]
    y = a
    for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
    return y def pow_by_binary_exponentiation(a, x, n): # a^x mod n
    x = [int(b) for b in binary(x)]
    y = a
    for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
    return y pow_by_binary_exponentiation
n, a, b = map(int, input().split())
m = max(a, b)
mod = 10 ** 9 + 7

def binary(n):
    return bin(n)[2:]

# バイナリ法
def pow_by_binary_exponentiation(a, x, n): # a^x mod n
    x = [int(b) for b in binary(x)]
    y = a
    for i in range(1, len(x)):
        y = (y**2) % n
        if x[i] == 1:
            y = (y * a) % n
    return y

ans = pow_by_binary_exponentiation(2, n, mod)
ans -= 1

N = max(a, b)
fact = [1] * (N + 1)

for i in range(N):
    fact[i + 1] = fact[i] * (i + 1) % mod


def comb(r):
    c = n
    for i in range(1, r):
        c = (c * (n - i)) % mod
    c = c * pow_by_binary_exponentiation(fact[r], mod - 2, mod) % mod
    return c

ans = (ans - comb(a)) % mod
ans = (ans - comb(b)) % mod
print(ans)
