from functools import reduce

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

def cmb(n, r, p):
    r = min(n - r, r)
    if r == 0:
        return 1
    numer = reduce(lambda x, y: (x * y) % p, range(n, n - r, -1))
    denom = reduce(lambda x, y: (x * y) % p, range(1, r + 1))
    return (numer * pow(denom, p - 2, p)) % p

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

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

def cmb(n, r, p):
    r = min(n - r, r)
    if r == 0:
        return 1
    numer = reduce(lambda x, y: (x * y) % p, range(n, n - r, -1))
    denom = reduce(lambda x, y: (x * y) % p, range(1, r + 1))
    return (numer * pow(denom, p - 2, p)) % p

ans = pow(2, n, p) - 1
ans -= (cmb(n, a, p) + cmb(n, b, p))
print(ans % p)