def ncr(n, r, p): 

  num = den = 1 

  for i in range(r): 

      num = (num * (n - i)) % p 

      den = (den * (i + 1)) % p 

  return (num * pow(den, p - 2, p)) % p

p=10**9+7

n,a,b = list(map(int,(input().split())))

bb = ncr(n,a,p)+ncr(n,b,p)+1

print(((pow(2,n,p)-(bb%p))%p))
n, a, b = list(map(int, input().split()))



fac = [1, 1]

finv = [1, 1]

inv = [0, 1]

Mod = 10**9+7

def COMinit():

  #N_C_kのN

  for i in range(2, n+10):

    fac.append(fac[-1]*i%Mod)

    inv.append((-inv[Mod%i] * (Mod//i)) % Mod)

    finv.append(finv[-1] * inv[-1] % Mod)





def COM(n, k):

  if n < 0 or k < 0 or n < k:

    return 0

  return fac[n] * (finv[k] * finv[n-k] % Mod) % Mod



def ncr(n, r, p):

  num = den = 1

  for i in range(r):

    num = (num * (n - i)) % p

    den = (den * (i + 1)) % p

  return (num * pow(den, p - 2, p)) % p

p=10**9+7





ans = pow(2, n, Mod)



ans -= ncr(n, a, p)

ans %= Mod

ans -= ncr(n, b, p)

ans %= Mod

print((ans-1))
def ncr(n, r, p):
    num = den = 1
    for i in range(r):
        num = (num * (n - i)) % p
        den = (den * (i + 1)) % p
    return (num * pow(den, p - 2, p)) % p


p = 10**9 + 7
n, a, b = list(map(int, (input().split())))
bb = ncr(n, a, p) + ncr(n, b, p) + 1
print(((pow(2, n, p) - (bb % p)) % p))

n, a, b = list(map(int, input().split()))
fac = [1, 1]
finv = [1, 1]
inv = [0, 1]
Mod = 10**9 + 7


def COMinit():
    # N_C_kのN
    for i in range(2, n + 10):
        fac.append(fac[-1] * i % Mod)
        inv.append((-inv[Mod % i] * (Mod // i)) % Mod)
        finv.append(finv[-1] * inv[-1] % Mod)


def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % Mod) % Mod


def ncr(n, r, p):
    num = den = 1
    for i in range(r):
        num = (num * (n - i)) % p
        den = (den * (i + 1)) % p
    return (num * pow(den, p - 2, p)) % p


p = 10**9 + 7
ans = pow(2, n, Mod)
ans -= ncr(n, a, p)
ans %= Mod
ans -= ncr(n, b, p)
ans %= Mod
print((ans - 1))

+n, a, b = list(map(int, input().split())) +fac = [1, 1] +finv = [1, 1] +inv = [0, 1] +Mod = 10**9 + 7 + + +def COMinit(): +    # N_C_kのN +    for i in range(2, n + 10): +        fac.append(fac[-1] * i % Mod) +        inv.append((-inv[Mod % i] * (Mod // i)) % Mod) +        finv.append(finv[-1] * inv[-1] % Mod) + + +def COM(n, k): +    if n < 0 or k < 0 or n < k: +        return 0 +    return fac[n] * (finv[k] * finv[n - k] % Mod) % Mod + + -n, a, b = list(map(int, (input().split()))) -bb = ncr(n, a, p) + ncr(n, b, p) + 1 -print(((pow(2, n, p) - (bb % p)) % p)) +ans = pow(2, n, Mod) +ans -= ncr(n, a, p) +ans %= Mod +ans -= ncr(n, b, p) +ans %= Mod +print((ans - 1))