from sys import stdin
import sys
import math
from functools import reduce
import functools
import itertools
from collections import deque,Counter,defaultdict
from operator import mul
import copy
# ! /usr/bin/env python
# -*- coding: utf-8 -*-
import heapq
sys.setrecursionlimit(10**6)
# INF =  float("inf")
INF = 10**18
import bisect
import statistics
mod = 10**9+7
# mod = 998244353

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

# C,Pを求める前処理
m = 2*10**5+10
mod = 10**9 + 7


fact = [0]*(m+5)
fact_inv = [0]*(m+5)
inv = [0]*(m+5)

fact[0] = fact[1] = 1
fact_inv[0] = fact_inv[1] = 1
inv[1] = 1

for i in range(2,m+5):
    fact[i] = fact[i-1] * i % mod
    inv[i] = mod - inv[mod % i] * (mod // i) % mod
    fact_inv[i] = fact_inv[i-1] * inv[i] % mod


def cmb_large(n,k,mod):
    ans = 1
    for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
    return ans * fact_inv[k] % mod

print((pow(2,N,mod)-1-cmb_large(N,a,mod)-cmb_large(N,b,mod)) % mod) from sys import stdin import sys sys import math math from functools import reduce import functools functools import itertools itertools from collections import deque,Counter,defaultdict from operator import mul import copy copy import heapq heapq sys.setrecursionlimit(10**6) sys.setrecursionlimit sys setrecursionlimit 10**6 10 6 INF = 10**18 INF 10**18 10 18 import bisect bisect import statistics statistics mod = 10**9+7 mod 10**9+7 10**9 10 9 7 N, a, b = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split a b m = 2*10**5+10 m 2*10**5+10 2*10**5 2 10**5 10 5 10 mod = 10**9 + 7 mod 10**9 + 7 10**9 10 9 7 fact = [0]*(m+5) fact [0]*(m+5) [0] 0 m+5 m 5 fact_inv = [0]*(m+5) fact_inv [0]*(m+5) [0] 0 m+5 m 5 inv = [0]*(m+5) inv [0]*(m+5) [0] 0 m+5 m 5 fact[0] = fact[1] = 1 fact[0] fact 0 1 = fact[1] = 1 fact[1] fact 1 1 fact_inv[0] = fact_inv[1] = 1 fact_inv[0] fact_inv 0 1 = fact_inv[1] = 1 fact_inv[1] fact_inv 1 1 inv[1] = 1 inv[1] inv 1 1 for i in range(2,m+5):
    fact[i] = fact[i-1] * i % mod
    inv[i] = mod - inv[mod % i] * (mod // i) % mod
    fact_inv[i] = fact_inv[i-1] * inv[i] % mod i range(2,m+5) range 2 m+5 m 5 fact[i] = fact[i-1] * i % mod fact[i] fact i fact[i-1] * i % mod fact[i-1] * i fact[i-1] fact i-1 i 1 i mod inv[i] = mod - inv[mod % i] * (mod // i) % mod inv[i] inv i mod - inv[mod % i] * (mod // i) % mod mod inv[mod % i] * (mod // i) % mod inv[mod % i] * (mod // i) inv[mod % i] inv mod % i mod i mod // i mod i mod fact_inv[i] = fact_inv[i-1] * inv[i] % mod fact_inv[i] fact_inv i fact_inv[i-1] * inv[i] % mod fact_inv[i-1] * inv[i] fact_inv[i-1] fact_inv i-1 i 1 inv[i] inv i mod def cmb_large(n,k,mod):
    ans = 1
    for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
    return ans * fact_inv[k] % mod cmb_large ans = 1 ans 1 for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
     i range(n, n-k, -1) range n n-k n k -1 ans = ans * i ans ans * i ans i ans = ans % mod ans ans % mod ans mod return ans * fact_inv[k] % mod ans * fact_inv[k] % mod ans * fact_inv[k] ans fact_inv[k] fact_inv k mod n n k k mod mod print((pow(2,N,mod)-1-cmb_large(N,a,mod)-cmb_large(N,b,mod)) % mod) print (pow(2,N,mod)-1-cmb_large(N,a,mod)-cmb_large(N,b,mod)) % mod pow(2,N,mod)-1-cmb_large(N,a,mod)-cmb_large(N,b,mod) pow(2,N,mod)-1-cmb_large(N,a,mod) pow(2,N,mod)-1 pow(2,N,mod) pow 2 N mod 1 cmb_large(N,a,mod) cmb_large N a mod cmb_large(N,b,mod) cmb_large N b mod mod m = 2*10**5+10 2*10**5+10 m INF = 10**18 10**18 INF inv = [0]*(m+5) [0]*(m+5) inv def cmb_large(n,k,mod):
    ans = 1
    for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
    return ans * fact_inv[k] % mod def cmb_large(n,k,mod):
    ans = 1
    for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
    return ans * fact_inv[k] % mod cmb_large mod = 10**9+7 10**9+7 mod fact = [0]*(m+5) [0]*(m+5) fact fact_inv = [0]*(m+5) [0]*(m+5) fact_inv N, a, b = map(int, input().split()) map(int, input().split()) N a, b = map(int, input().split()) map(int, input().split()) a mod = 10**9 + 7 10**9 + 7 mod b = map(int, input().split()) map(int, input().split()) b
from sys import stdin
import sys
import math
from functools import reduce
import functools
import itertools
from collections import deque,Counter,defaultdict
from operator import mul
import copy
# ! /usr/bin/env python
# -*- coding: utf-8 -*-
import heapq
sys.setrecursionlimit(10**6)
# INF =  float("inf")
INF = 10**18
import bisect
import statistics
mod = 10**9+7
# mod = 998244353

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

# C,Pを求める前処理
m = 2*10**5+10
mod = 10**9 + 7


fact = [0]*(m+5)
fact_inv = [0]*(m+5)
inv = [0]*(m+5)

fact[0] = fact[1] = 1
fact_inv[0] = fact_inv[1] = 1
inv[1] = 1

for i in range(2,m+5):
    fact[i] = fact[i-1] * i % mod
    inv[i] = mod - inv[mod % i] * (mod // i) % mod
    fact_inv[i] = fact_inv[i-1] * inv[i] % mod


def cmb_large(n,k,mod):
    ans = 1
    for i in range(n, n-k, -1):
        ans = ans * i
        ans = ans % mod
    return ans * fact_inv[k] % mod

print((pow(2,N,mod)-1-cmb_large(N,a,mod)-cmb_large(N,b,mod)) % mod)