p = 10**9+7
def power_func(a,n):
    bi=str(format(n,"b"))#2進表現に
    res=1
    for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
    return res
g1,g2,inverse = [1, 1],[1, 1],[0, 1]
for i in range(2,2*(10**5)+1):
    g1.append((g1[-1]*i)%p)
    inverse.append((-inverse[p%i]*(p//i))%p)
    g2.append((g2[-1]*inverse[-1])%p)
n,a,b= map(int,input().split())
comnk=1
temp1=-1
for i in range(b):
    comnk=(((comnk*(n-i))%p)*inverse[i+1])%p
    if i==a-1:temp1=(power_func(2,n)-1+p-comnk)%p
print((temp1 + p - comnk) % p) p = 10**9+7 p 10**9+7 10**9 10 9 7 def power_func(a,n):
    bi=str(format(n,"b"))#2進表現に
    res=1
    for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
    return res power_func bi=str(format(n,"b")) bi str(format(n,"b")) str format(n,"b") format n "b" res=1 res 1 for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
     i range(len(bi)) range len(bi) len bi res=(res*res) %p res (res*res) %p res*res res res p if bi[i]=="1":
          res=(res*a) %p
     bi[i]=="1" bi[i] bi i "1" res=(res*a) %p res (res*a) %p res*a res a p return res res a a n n g1,g2,inverse = [1, 1],[1, 1],[0, 1] g1 [1, 1] 1 1 g2 [1, 1] 1 1 inverse [0, 1] 0 1 for i in range(2,2*(10**5)+1):
    g1.append((g1[-1]*i)%p)
    inverse.append((-inverse[p%i]*(p//i))%p)
    g2.append((g2[-1]*inverse[-1])%p) i range(2,2*(10**5)+1) range 2 2*(10**5)+1 2*(10**5) 2 10**5 10 5 1 g1.append((g1[-1]*i)%p) g1.append g1 append (g1[-1]*i)%p g1[-1]*i g1[-1] g1 -1 i p inverse.append((-inverse[p%i]*(p//i))%p) inverse.append inverse append (-inverse[p%i]*(p//i))%p -inverse[p%i]*(p//i) -inverse[p%i] inverse[p%i] inverse p%i p i p//i p i p g2.append((g2[-1]*inverse[-1])%p) g2.append g2 append (g2[-1]*inverse[-1])%p g2[-1]*inverse[-1] g2[-1] g2 -1 inverse[-1] inverse -1 p n,a,b= map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split a b comnk=1 comnk 1 temp1=-1 temp1 -1 for i in range(b):
    comnk=(((comnk*(n-i))%p)*inverse[i+1])%p
    if i==a-1:temp1=(power_func(2,n)-1+p-comnk)%p i range(b) range b comnk=(((comnk*(n-i))%p)*inverse[i+1])%p comnk (((comnk*(n-i))%p)*inverse[i+1])%p ((comnk*(n-i))%p)*inverse[i+1] (comnk*(n-i))%p comnk*(n-i) comnk n-i n i p inverse[i+1] inverse i+1 i 1 p if i==a-1:temp1=(power_func(2,n)-1+p-comn i==a-1 i a-1 a 1 print((temp1 + p - comnk) % p) print (temp1 + p - comnk) % p temp1 + p - comnk temp1 + p temp1 p comnk p g2,inverse = [1, 1],[1, 1],[0, 1] [1, 1] g2 inverse = [1, 1],[1, 1],[0, 1] [0, 1] inverse def power_func(a,n):
    bi=str(format(n,"b"))#2進表現に
    res=1
    for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
    return res def power_func(a,n):
    bi=str(format(n,"b"))#2進表現に
    res=1
    for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
    return res power_func g1,g2,inverse = [1, 1],[1, 1],[0, 1] [1, 1] g1 a,b= map(int,input().split()) map(int,input().split()) a b= map(int,input().split()) map(int,input().split()) b comnk=(((comnk*(n-i))%p)*inverse[i+1])%p (((comnk*(n-i))%p)*inverse[i+1])%p comnk comnk=1 1 comnk p = 10**9+7 10**9+7 p n,a,b= map(int,input().split()) map(int,input().split()) n temp1=-1 -1 temp1
p = 10**9+7
def power_func(a,n):
    bi=str(format(n,"b"))#2進表現に
    res=1
    for i in range(len(bi)):
        res=(res*res) %p
        if bi[i]=="1":
          res=(res*a) %p
    return res
g1,g2,inverse = [1, 1],[1, 1],[0, 1]
for i in range(2,2*(10**5)+1):
    g1.append((g1[-1]*i)%p)
    inverse.append((-inverse[p%i]*(p//i))%p)
    g2.append((g2[-1]*inverse[-1])%p)
n,a,b= map(int,input().split())
comnk=1
temp1=-1
for i in range(b):
    comnk=(((comnk*(n-i))%p)*inverse[i+1])%p
    if i==a-1:temp1=(power_func(2,n)-1+p-comnk)%p
print((temp1 + p - comnk) % p)