from functools import reduce

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

def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD

print((pow(2,n,MOD) - combination2(n,a) - combination2(n,b)-1)%MOD) from functools import reduce 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 def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD combination2 if not 0 <= r <= n: return 0
     not 0 <= r <= n 0 <= r <= n 0 <= r 0 r n r = min(r, n - r) r min(r, n - r) min r n - r n r numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1) numerator reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(n, n - r, -1) range n n - r n r -1 1 denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1) denominator reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(1, r + 1) range 1 r + 1 r 1 1 return numerator * pow(denominator, MOD - 2, MOD) % MOD numerator * pow(denominator, MOD - 2, MOD) % MOD numerator * pow(denominator, MOD - 2, MOD) numerator pow(denominator, MOD - 2, MOD) pow denominator MOD - 2 MOD 2 MOD MOD n n r r MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 print((pow(2,n,MOD) - combination2(n,a) - combination2(n,b)-1)%MOD) print (pow(2,n,MOD) - combination2(n,a) - combination2(n,b)-1)%MOD pow(2,n,MOD) - combination2(n,a) - combination2(n,b)-1 pow(2,n,MOD) - combination2(n,a) - combination2(n,b) pow(2,n,MOD) - combination2(n,a) pow(2,n,MOD) pow 2 n MOD combination2(n,a) combination2 n a combination2(n,b) combination2 n b 1 MOD def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD combination2 a, b = map(int, input().split()) map(int, input().split()) a n, a, b = map(int, input().split()) map(int, input().split()) n MOD = 10**9 + 7 10**9 + 7 MOD b = map(int, input().split()) map(int, input().split()) b
from functools import reduce

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

def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD

print((pow(2,n,MOD) - combination2(n,a) - combination2(n,b)-1)%MOD)