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

mod = 10 ** 9 + 7

def frac_rev(n, r):
  x = 1
  for i in range(n, n-r, -1):
    x = x * i % mod
  return x

def frac(n):
  x = 1
  for i in range(1, n+1):
    x = x * i % mod
  return x

print(( pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod - frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod) % mod) n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 def frac_rev(n, r):
  x = 1
  for i in range(n, n-r, -1):
    x = x * i % mod
  return x frac_rev x = 1 x 1 for i in range(n, n-r, -1):
    x = x * i % mod
   i range(n, n-r, -1) range n n-r n r -1 x = x * i % mod x x * i % mod x * i x i mod return x x n n r r def frac(n):
  x = 1
  for i in range(1, n+1):
    x = x * i % mod
  return x frac x = 1 x 1 for i in range(1, n+1):
    x = x * i % mod
   i range(1, n+1) range 1 n+1 n 1 x = x * i % mod x x * i % mod x * i x i mod return x x n n print(( pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod - frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod) % mod) print ( pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod - frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod) % mod pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod - frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod pow(2, n, mod) - 1 pow(2, n, mod) pow 2 n mod 1 frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod frac_rev(n, a) * pow(frac(a), mod-2, mod) frac_rev(n, a) frac_rev n a pow(frac(a), mod-2, mod) pow frac(a) frac a mod-2 mod 2 mod mod frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod frac_rev(n, b) * pow(frac(b), mod-2, mod) frac_rev(n, b) frac_rev n b pow(frac(b), mod-2, mod) pow frac(b) frac b mod-2 mod 2 mod mod mod mod = 10 ** 9 + 7 10 ** 9 + 7 mod b = map(int, input().split()) map(int, input().split()) b def frac(n):
  x = 1
  for i in range(1, n+1):
    x = x * i % mod
  return x def frac(n):
  x = 1
  for i in range(1, n+1):
    x = x * i % mod
  return x frac n, a, b = map(int, input().split()) map(int, input().split()) n def frac_rev(n, r):
  x = 1
  for i in range(n, n-r, -1):
    x = x * i % mod
  return x def frac_rev(n, r):
  x = 1
  for i in range(n, n-r, -1):
    x = x * i % mod
  return x frac_rev a, b = map(int, input().split()) map(int, input().split()) a
n, a, b = map(int, input().split())

mod = 10 ** 9 + 7

def frac_rev(n, r):
  x = 1
  for i in range(n, n-r, -1):
    x = x * i % mod
  return x

def frac(n):
  x = 1
  for i in range(1, n+1):
    x = x * i % mod
  return x

print(( pow(2, n, mod) - 1 - frac_rev(n, a) * pow(frac(a), mod-2, mod) % mod - frac_rev(n, b) * pow(frac(b), mod-2, mod) % mod) % mod)