from functools import reduce

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

#combination高速化の裏技
def comb(N, A, MOD):
    num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1))
    den = reduce(lambda x, y: x * y % MOD, range(1, A + 1))
    return num * pow(den, MOD - 2, MOD) % MOD

#powはmodを引数にしてあまりを計算してくれる
print((pow(2, n, mod = mod) - 1 - comb(n, a, mod) - comb(n, b, mod)) % mod) from functools import reduce n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 def comb(N, A, MOD):
    num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1))
    den = reduce(lambda x, y: x * y % MOD, range(1, A + 1))
    return num * pow(den, MOD - 2, MOD) % MOD

#powはmodを引数にしてあまりを計算してくれる comb num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1)) num reduce(lambda x, y: x * y % MOD, range(N, N - A, -1)) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(N, N - A, -1) range N N - A N A -1 den = reduce(lambda x, y: x * y % MOD, range(1, A + 1)) den reduce(lambda x, y: x * y % MOD, range(1, A + 1)) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(1, A + 1) range 1 A + 1 A 1 return num * pow(den, MOD - 2, MOD) % MOD num * pow(den, MOD - 2, MOD) % MOD num * pow(den, MOD - 2, MOD) num pow(den, MOD - 2, MOD) pow den MOD - 2 MOD 2 MOD MOD N N A A MOD MOD print((pow(2, n, mod = mod) - 1 - comb(n, a, mod) - comb(n, b, mod)) % mod) print (pow(2, n, mod = mod) - 1 - comb(n, a, mod) - comb(n, b, mod)) % mod pow(2, n, mod = mod) - 1 - comb(n, a, mod) - comb(n, b, mod) pow(2, n, mod = mod) - 1 - comb(n, a, mod) pow(2, n, mod = mod) - 1 pow(2, n, mod = mod) pow 2 n mod = mod mod mod 1 comb(n, a, mod) comb n a mod comb(n, b, mod) comb n b mod mod a, b = map(int, input().split()) map(int, input().split()) a b = map(int, input().split()) map(int, input().split()) b mod = 10 ** 9 + 7 10 ** 9 + 7 mod def comb(N, A, MOD):
    num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1))
    den = reduce(lambda x, y: x * y % MOD, range(1, A + 1))
    return num * pow(den, MOD - 2, MOD) % MOD

#powはmodを引数にしてあまりを計算してくれる def comb(N, A, MOD):
    num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1))
    den = reduce(lambda x, y: x * y % MOD, range(1, A + 1))
    return num * pow(den, MOD - 2, MOD) % MOD

#powはmodを引数にしてあまりを計算してくれる comb n, a, b = map(int, input().split()) map(int, input().split()) n
from functools import reduce

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

#combination高速化の裏技
def comb(N, A, MOD):
    num = reduce(lambda x, y: x * y % MOD, range(N, N - A, -1))
    den = reduce(lambda x, y: x * y % MOD, range(1, A + 1))
    return num * pow(den, MOD - 2, MOD) % MOD

#powはmodを引数にしてあまりを計算してくれる
print((pow(2, n, mod = mod) - 1 - comb(n, a, mod) - comb(n, b, mod)) % mod)