n, a, b = map(int, input().split())
mod = 10 ** 9 + 7
def POW(x, y):
  bin_ = []
  while y:
    bin_.append(y % 2)
    y >>= 1
  ret = 1
  for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
  return ret
def comb(x, y):
  ret = 1
  for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
  return ret
print((POW(2, n) - 1 - comb(n, a) - comb(n, b)) % 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 POW(x, y):
  bin_ = []
  while y:
    bin_.append(y % 2)
    y >>= 1
  ret = 1
  for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
  return ret POW bin_ = [] bin_ [] while y:
    bin_.append(y % 2)
    y >>= 1
   y bin_.append(y % 2) bin_.append bin_ append y % 2 y 2 y >>= 1 y 1 ret = 1 ret 1 for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
   j reversed(bin_) reversed bin_ ret = (ret * ret) % mod ret (ret * ret) % mod ret * ret ret ret mod if j == 1:
      ret = (ret * x) % mod
   j == 1 j 1 ret = (ret * x) % mod ret (ret * x) % mod ret * x ret x mod return ret ret x x y y def comb(x, y):
  ret = 1
  for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
  return ret comb ret = 1 ret 1 for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
   i range(1, y+1) range 1 y+1 y 1 ret = (ret * (x+1-i)) % mod ret (ret * (x+1-i)) % mod ret * (x+1-i) ret x+1-i x+1 x 1 i mod ret = (ret * POW(i, mod-2)) % mod ret (ret * POW(i, mod-2)) % mod ret * POW(i, mod-2) ret POW(i, mod-2) POW i mod-2 mod 2 mod return ret ret x x y y print((POW(2, n) - 1 - comb(n, a) - comb(n, b)) % mod) print (POW(2, n) - 1 - comb(n, a) - comb(n, b)) % mod POW(2, n) - 1 - comb(n, a) - comb(n, b) POW(2, n) - 1 - comb(n, a) POW(2, n) - 1 POW(2, n) POW 2 n 1 comb(n, a) comb n a comb(n, b) comb n b mod n, a, b = map(int, input().split()) map(int, input().split()) n mod = 10 ** 9 + 7 10 ** 9 + 7 mod b = map(int, input().split()) map(int, input().split()) b def POW(x, y):
  bin_ = []
  while y:
    bin_.append(y % 2)
    y >>= 1
  ret = 1
  for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
  return ret def POW(x, y):
  bin_ = []
  while y:
    bin_.append(y % 2)
    y >>= 1
  ret = 1
  for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
  return ret POW a, b = map(int, input().split()) map(int, input().split()) a def comb(x, y):
  ret = 1
  for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
  return ret def comb(x, y):
  ret = 1
  for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
  return ret comb
n, a, b = map(int, input().split())
mod = 10 ** 9 + 7
def POW(x, y):
  bin_ = []
  while y:
    bin_.append(y % 2)
    y >>= 1
  ret = 1
  for j in reversed(bin_):
    ret = (ret * ret) % mod
    if j == 1:
      ret = (ret * x) % mod
  return ret
def comb(x, y):
  ret = 1
  for i in range(1, y+1):
    ret = (ret * (x+1-i)) % mod
    ret = (ret * POW(i, mod-2)) % mod
  return ret
print((POW(2, n) - 1 - comb(n, a) - comb(n, b)) % mod)