n,a,b = [int(i) for i in input().split()]

mod = 10**9+7



def mpow(a,n):

  if n == 1:

    return a

  x = mpow(a,n//2)

  ans = x*x%mod

  if n%2==1:

    ans *= a

  return ans



def comb(n,a,b):

  if a < b:

    s, l = a, b

  else:

    s, l = b, a

  rs = 1

  for i in range(s):

    rs = rs*(n-i)%mod

  rl = rs

  for i in range(s,l):

    rl = rl*(n-i)%mod

  L = 1

  for i in range(1,s+1):

    L = L*mpow(i,mod-2)%mod

  rs = rs*L%mod

  rl = rl*L%mod

  for i in range(s+1,l+1):

    rl = rl*mpow(i,mod-2)%mod

  if a < b:

    nCa, nCb = rs, rl

  else:

    nCa, nCb = rl, rs

  return nCa, nCb

nCa,nCb = comb(n,a,b)

print(((mpow(2,n)-1-nCa-nCb)%mod))

# print(nCa,nCb)

def comb_mod(n,r):

    mod = 10**9+7

    ans = 1

    for i in range(r):

        ans *= n-i

        ans %= mod

    for i in range(1,r+1):

        ans *= pow(i,mod-2,mod)

        ans %= mod

    return ans



def solve():

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

    mod = 10**9+7

    ans = pow(2,n,mod)-comb_mod(n,a)-comb_mod(n,b)-1

    ans %= mod

    return ans

print((solve()))
n, a, b = [int(i) for i in input().split()]
mod = 10**9 + 7


def mpow(a, n):
    if n == 1:
        return a
    x = mpow(a, n // 2)
    ans = x * x % mod
    if n % 2 == 1:
        ans *= a
    return ans


def comb(n, a, b):
    if a < b:
        s, l = a, b
    else:
        s, l = b, a
    rs = 1
    for i in range(s):
        rs = rs * (n - i) % mod
    rl = rs
    for i in range(s, l):
        rl = rl * (n - i) % mod
    L = 1
    for i in range(1, s + 1):
        L = L * mpow(i, mod - 2) % mod
    rs = rs * L % mod
    rl = rl * L % mod
    for i in range(s + 1, l + 1):
        rl = rl * mpow(i, mod - 2) % mod
    if a < b:
        nCa, nCb = rs, rl
    else:
        nCa, nCb = rl, rs
    return nCa, nCb


nCa, nCb = comb(n, a, b)
print(((mpow(2, n) - 1 - nCa - nCb) % mod))
# print(nCa,nCb)

def comb_mod(n, r):
    mod = 10**9 + 7
    ans = 1
    for i in range(r):
        ans *= n - i
        ans %= mod
    for i in range(1, r + 1):
        ans *= pow(i, mod - 2, mod)
        ans %= mod
    return ans


def solve():
    n, a, b = list(map(int, input().split()))
    mod = 10**9 + 7
    ans = pow(2, n, mod) - comb_mod(n, a) - comb_mod(n, b) - 1
    ans %= mod
    return ans


print((solve()))

-n, a, b = [int(i) for i in input().split()] -mod = 10**9 + 7 - - -def mpow(a, n): -    if n == 1: -        return a -    x = mpow(a, n // 2) -    ans = x * x % mod -    if n % 2 == 1: -        ans *= a +def comb_mod(n, r): +    mod = 10**9 + 7 +    ans = 1 +    for i in range(r): +        ans *= n - i +        ans %= mod +    for i in range(1, r + 1): +        ans *= pow(i, mod - 2, mod) +        ans %= mod -def comb(n, a, b): -    if a < b: -        s, l = a, b -    else: -        s, l = b, a -    rs = 1 -    for i in range(s): -        rs = rs * (n - i) % mod -    rl = rs -    for i in range(s, l): -        rl = rl * (n - i) % mod -    L = 1 -    for i in range(1, s + 1): -        L = L * mpow(i, mod - 2) % mod -    rs = rs * L % mod -    rl = rl * L % mod -    for i in range(s + 1, l + 1): -        rl = rl * mpow(i, mod - 2) % mod -    if a < b: -        nCa, nCb = rs, rl -    else: -        nCa, nCb = rl, rs -    return nCa, nCb +def solve(): +    n, a, b = list(map(int, input().split())) +    mod = 10**9 + 7 +    ans = pow(2, n, mod) - comb_mod(n, a) - comb_mod(n, b) - 1 +    ans %= mod +    return ans -nCa, nCb = comb(n, a, b) -print(((mpow(2, n) - 1 - nCa - nCb) % mod)) -# print(nCa,nCb) +print((solve()))