import Data.List
import Data.Int

modulus :: Int64
modulus = 10^9 + 7

addMod, subMod, mulMod :: Int64 -> Int64 -> Int64
addMod x y
  | x + y >= modulus = x + y - modulus
  | otherwise        = x + y

subMod x y
  | x - y < 0 = x - y + modulus
  | otherwise = x - y

mulMod x y = (x * y) `rem` modulus

powMod :: Int64 -> Int64 -> Int64
powMod n p
  | p == 0    = 1
  | odd p     = n * powMod n (p-1) `mod` modulus
  | otherwise = let t = powMod n (p `div` 2)
                 in (t^2) `mod` modulus

modInv :: Int64 -> Int64
modInv n = powMod n (modulus - 2)

productMod :: [Int64] -> Int64
productMod = foldr mulMod 1

nCrMod :: Int64 -> Int64 -> Int64
nCrMod n r = productMod [(n-r+1)..n] `mulMod` modInv (productMod [1..r])

main :: IO ()
main = do
    [n,a,b] <- map read . words <$> getLine :: IO [Int64]
    print $ (powMod 2 n - 1) `subMod` nCrMod n a `subMod` nCrMod n b