def MI(): return map(int, input().split())
MOD=10**9+7
def nCr(n,k):
  tmp=1
  for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
  for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
  return tmp
N,A,B=MI()
ans=pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B)
print(ans%MOD) def MI(): return map(int, input().split()) MI MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 def nCr(n,k):
  tmp=1
  for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
  for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
  return tmp nCr tmp=1 tmp 1 for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
   i range(n-k+1,n+1) range n-k+1 n-k n k 1 n+1 n 1 tmp*=i tmp i tmp%=MOD tmp MOD for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
   i range(1,k+1) range 1 k+1 k 1 tmp*=pow(i,MOD-2,MOD) tmp pow(i,MOD-2,MOD) pow i MOD-2 MOD 2 MOD tmp%=MOD tmp MOD return tmp tmp n n k k N,A,B=MI() N MI() MI A B ans=pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B) ans pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B) pow(2,N,MOD)-1-nCr(N,A) pow(2,N,MOD)-1 pow(2,N,MOD) pow 2 N MOD 1 nCr(N,A) nCr N A nCr(N,B) nCr N B print(ans%MOD) print ans%MOD ans MOD MOD=10**9+7 10**9+7 MOD def MI(): return map(int, input().split()) def MI(): return map(int, input().split()) MI ans=pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B) pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B) ans def nCr(n,k):
  tmp=1
  for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
  for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
  return tmp def nCr(n,k):
  tmp=1
  for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
  for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
  return tmp nCr N,A,B=MI() MI() N B=MI() MI() B A,B=MI() MI() A
def MI(): return map(int, input().split())
MOD=10**9+7
def nCr(n,k):
  tmp=1
  for i in range(n-k+1,n+1):
    tmp*=i
    tmp%=MOD
  for i in range(1,k+1):
    tmp*=pow(i,MOD-2,MOD)
    tmp%=MOD
  return tmp
N,A,B=MI()
ans=pow(2,N,MOD)-1-nCr(N,A)-nCr(N,B)
print(ans%MOD)