MOD = 10**9 + 7

N, A, B = map(int, input().split())

def getComb(n, k, MOD):
    if n < k:
        return 0
    if n-k < k:
        k = n-k
    comb = 1
    for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k+1):
        d = (d * x) % MOD
    comb *= pow(d, MOD-2, MOD)
    return comb % MOD

ans = pow(2, N, MOD) - 1
ans -= getComb(N, A, MOD)
ans -= getComb(N, B, MOD)
ans %= MOD

print(ans) 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 getComb(n, k, MOD):
    if n < k:
        return 0
    if n-k < k:
        k = n-k
    comb = 1
    for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k+1):
        d = (d * x) % MOD
    comb *= pow(d, MOD-2, MOD)
    return comb % MOD getComb if n < k:
        return 0
     n < k n k return 0 0 if n-k < k:
        k = n-k
     n-k < k n-k n k k k = n-k k n-k n k comb = 1 comb 1 for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
     x range(n-k+1, n+1) range n-k+1 n-k n k 1 n+1 n 1 comb = (comb * x) % MOD comb (comb * x) % MOD comb * x comb x MOD d = 1 d 1 for x in range(1, k+1):
        d = (d * x) % MOD
     x range(1, k+1) range 1 k+1 k 1 d = (d * x) % MOD d (d * x) % MOD d * x d x MOD comb *= pow(d, MOD-2, MOD) comb pow(d, MOD-2, MOD) pow d MOD-2 MOD 2 MOD return comb % MOD comb % MOD comb MOD n n k k MOD MOD ans = pow(2, N, MOD) - 1 ans pow(2, N, MOD) - 1 pow(2, N, MOD) pow 2 N MOD 1 ans -= getComb(N, A, MOD) ans getComb(N, A, MOD) getComb N A MOD ans -= getComb(N, B, MOD) ans getComb(N, B, MOD) getComb N B MOD ans %= MOD ans MOD print(ans) print ans B = map(int, input().split()) map(int, input().split()) B ans -= getComb(N, B, MOD) getComb(N, B, MOD) ans ans -= getComb(N, A, MOD) getComb(N, A, MOD) ans ans = pow(2, N, MOD) - 1 pow(2, N, MOD) - 1 ans MOD = 10**9 + 7 10**9 + 7 MOD A, B = map(int, input().split()) map(int, input().split()) A def getComb(n, k, MOD):
    if n < k:
        return 0
    if n-k < k:
        k = n-k
    comb = 1
    for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k+1):
        d = (d * x) % MOD
    comb *= pow(d, MOD-2, MOD)
    return comb % MOD def getComb(n, k, MOD):
    if n < k:
        return 0
    if n-k < k:
        k = n-k
    comb = 1
    for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k+1):
        d = (d * x) % MOD
    comb *= pow(d, MOD-2, MOD)
    return comb % MOD getComb ans %= MOD MOD ans N, A, B = map(int, input().split()) map(int, input().split()) N
MOD = 10**9 + 7

N, A, B = map(int, input().split())

def getComb(n, k, MOD):
    if n < k:
        return 0
    if n-k < k:
        k = n-k
    comb = 1
    for x in range(n-k+1, n+1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k+1):
        d = (d * x) % MOD
    comb *= pow(d, MOD-2, MOD)
    return comb % MOD

ans = pow(2, N, MOD) - 1
ans -= getComb(N, A, MOD)
ans -= getComb(N, B, MOD)
ans %= MOD

print(ans)
