from collections import Counter,defaultdict,deque
from heapq import heappop,heappush
from bisect import bisect_left,bisect_right 
import sys,math,itertools,fractions
sys.setrecursionlimit(10**8)
mod = 10**9+7
INF = float('inf')
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))

n,a,b = inpl()
dl = 1
for i in range(a):
    dl *= n-i
    dl %= mod
for i in range(a):
    dl *= pow(a-i,mod-2,mod)
    dl %= mod
# print(dl)
vv = 1
for i in range(b):
    vv *= n-i
    vv %= mod
for i in range(b):
    vv *= pow(b-i,mod-2,mod)
    vv %= mod
# print(vv)
res = pow(2,n,mod) - dl - vv - 1
print(res%mod) from collections import Counter,defaultdict,deque from heapq import heappop,heappush from bisect import bisect_left,bisect_right import sys,math,itertools,fractions sys math itertools fractions sys.setrecursionlimit(10**8) sys.setrecursionlimit sys setrecursionlimit 10**8 10 8 mod = 10**9+7 mod 10**9+7 10**9 10 9 7 INF = float('inf') INF float('inf') float 'inf' def inp(): return int(sys.stdin.readline()) inp def inpl(): return list(map(int, sys.stdin.readline().split())) inpl n,a,b = inpl() n inpl() inpl a b dl = 1 dl 1 for i in range(a):
    dl *= n-i
    dl %= mod i range(a) range a dl *= n-i dl n-i n i dl %= mod dl mod for i in range(a):
    dl *= pow(a-i,mod-2,mod)
    dl %= mod
# print(dl) i range(a) range a dl *= pow(a-i,mod-2,mod) dl pow(a-i,mod-2,mod) pow a-i a i mod-2 mod 2 mod dl %= mod dl mod vv = 1 vv 1 for i in range(b):
    vv *= n-i
    vv %= mod i range(b) range b vv *= n-i vv n-i n i vv %= mod vv mod for i in range(b):
    vv *= pow(b-i,mod-2,mod)
    vv %= mod
# print(vv) i range(b) range b vv *= pow(b-i,mod-2,mod) vv pow(b-i,mod-2,mod) pow b-i b i mod-2 mod 2 mod vv %= mod vv mod res = pow(2,n,mod) - dl - vv - 1 res pow(2,n,mod) - dl - vv - 1 pow(2,n,mod) - dl - vv pow(2,n,mod) - dl pow(2,n,mod) pow 2 n mod dl vv 1 print(res%mod) print res%mod res mod b = inpl() inpl() b dl %= mod mod dl vv *= pow(b-i,mod-2,mod) pow(b-i,mod-2,mod) vv n,a,b = inpl() inpl() n INF = float('inf') float('inf') INF dl %= mod mod dl vv = 1 1 vv dl = 1 1 dl vv *= n-i n-i vv dl *= pow(a-i,mod-2,mod) pow(a-i,mod-2,mod) dl def inp(): return int(sys.stdin.readline()) def inp(): return int(sys.stdin.readline()) inp vv %= mod mod vv dl *= n-i n-i dl mod = 10**9+7 10**9+7 mod def inpl(): return list(map(int, sys.stdin.readline().split())) def inpl(): return list(map(int, sys.stdin.readline().split())) inpl res = pow(2,n,mod) - dl - vv - 1 pow(2,n,mod) - dl - vv - 1 res a,b = inpl() inpl() a vv %= mod mod vv
from collections import Counter,defaultdict,deque
from heapq import heappop,heappush
from bisect import bisect_left,bisect_right 
import sys,math,itertools,fractions
sys.setrecursionlimit(10**8)
mod = 10**9+7
INF = float('inf')
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))

n,a,b = inpl()
dl = 1
for i in range(a):
    dl *= n-i
    dl %= mod
for i in range(a):
    dl *= pow(a-i,mod-2,mod)
    dl %= mod
# print(dl)
vv = 1
for i in range(b):
    vv *= n-i
    vv %= mod
for i in range(b):
    vv *= pow(b-i,mod-2,mod)
    vv %= mod
# print(vv)
res = pow(2,n,mod) - dl - vv - 1
print(res%mod)