def modpow(a, n, p):
    if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p

def calc(n, r):
    p, q = 1, 1
    for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
    return p * modpow(q, MOD - 2, MOD) % MOD
    

MOD = 10 ** 9 + 7

N, a, b = map(int, input().split())
s = modpow(2, N, MOD) - 1
print((s - (calc(N, a) + calc(N, b))) % MOD) def modpow(a, n, p):
    if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p modpow if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p n == 0 n 0 elif n == 1: return a % p
     n == 1 n 1 elif n % 2: return (a * modpow(a, n - 1, p)) % p
     n % 2 n 2 t = modpow(a, n // 2, p) t modpow(a, n // 2, p) modpow a n // 2 n 2 p return (t * t) % p (t * t) % p t * t t t p a a n n p p def calc(n, r):
    p, q = 1, 1
    for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
    return p * modpow(q, MOD - 2, MOD) % MOD
     calc p, q = 1, 1 p 1 q 1 for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
     i range(r) range r p = p * (n - i) % MOD p p * (n - i) % MOD p * (n - i) p n - i n i MOD q = q * (i + 1) % MOD q q * (i + 1) % MOD q * (i + 1) q i + 1 i 1 MOD return p * modpow(q, MOD - 2, MOD) % MOD p * modpow(q, MOD - 2, MOD) % MOD p * modpow(q, MOD - 2, MOD) p modpow(q, MOD - 2, MOD) modpow q MOD - 2 MOD 2 MOD MOD n n r r 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 s = modpow(2, N, MOD) - 1 s modpow(2, N, MOD) - 1 modpow(2, N, MOD) modpow 2 N MOD 1 print((s - (calc(N, a) + calc(N, b))) % MOD) print (s - (calc(N, a) + calc(N, b))) % MOD s - (calc(N, a) + calc(N, b)) s calc(N, a) + calc(N, b) calc(N, a) calc N a calc(N, b) calc N b MOD MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD def modpow(a, n, p):
    if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p def modpow(a, n, p):
    if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p modpow s = modpow(2, N, MOD) - 1 modpow(2, N, MOD) - 1 s def calc(n, r):
    p, q = 1, 1
    for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
    return p * modpow(q, MOD - 2, MOD) % MOD
     def calc(n, r):
    p, q = 1, 1
    for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
    return p * modpow(q, MOD - 2, MOD) % MOD
     calc a, b = map(int, input().split()) map(int, input().split()) a b = map(int, input().split()) map(int, input().split()) b N, a, b = map(int, input().split()) map(int, input().split()) N
def modpow(a, n, p):
    if n == 0: return 0
    elif n == 1: return a % p
    elif n % 2: return (a * modpow(a, n - 1, p)) % p
    else:
        t = modpow(a, n // 2, p)
        return (t * t) % p

def calc(n, r):
    p, q = 1, 1
    for i in range(r):
        p = p * (n - i) % MOD
        q = q * (i + 1) % MOD
    return p * modpow(q, MOD - 2, MOD) % MOD
    

MOD = 10 ** 9 + 7

N, a, b = map(int, input().split())
s = modpow(2, N, MOD) - 1
print((s - (calc(N, a) + calc(N, b))) % MOD)
