# -*- coding: utf-8 -*-
"""
Created on Sun Sep 13 19:51:37 2020

@author: liang
"""

import math

key = 10**9 + 7

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

ans = 1
tmp = 2
N = math.ceil(math.log2(n))

#繰り返し二乗法
for i in range(N+1):
    if n>>i&1 == 1:
        #print(i,tmp)
        ans *= tmp
    tmp *= tmp
    tmp %= key
    ans %= key
ans -= 1
#print("1",ans)

def comb(r):
    #permutation
    perm = 1
    for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
    fact = 1
    for i in range(1,r+1):
        fact *= i
        fact %= key
    
    ans = 1
    tmp = fact
    p = key -2
    N = math.ceil(math.log2(p))
    #繰り返し二乗法
    for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
    ans *= perm
    ans %= key
    return ans

ans -= comb(a)
ans -= comb(b)
ans %= key
#print("2",comb(a))
#print("3",comb(b))
print(ans) """
Created on Sun Sep 13 19:51:37 2020

@author: liang
""" import math math key = 10**9 + 7 key 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 ans = 1 ans 1 tmp = 2 tmp 2 N = math.ceil(math.log2(n)) N math.ceil(math.log2(n)) math.ceil math ceil math.log2(n) math.log2 math log2 n for i in range(N+1):
    if n>>i&1 == 1:
        #print(i,tmp)
        ans *= tmp
    tmp *= tmp
    tmp %= key
    ans %= key i range(N+1) range N+1 N 1 if n>>i&1 == 1:
        #print(i,tmp)
        ans *= tmp
     n>>i&1 == 1 n>>i&1 n>>i n i 1 1 ans *= tmp ans tmp tmp *= tmp tmp tmp tmp %= key tmp key ans %= key ans key ans -= 1 ans 1 def comb(r):
    #permutation
    perm = 1
    for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
    fact = 1
    for i in range(1,r+1):
        fact *= i
        fact %= key
    
    ans = 1
    tmp = fact
    p = key -2
    N = math.ceil(math.log2(p))
    #繰り返し二乗法
    for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
    ans *= perm
    ans %= key
    return ans comb perm = 1 perm 1 for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
     i range(0,r) range 0 r perm *= n - i perm n - i n i perm %= key perm key fact = 1 fact 1 for i in range(1,r+1):
        fact *= i
        fact %= key
    
     i range(1,r+1) range 1 r+1 r 1 fact *= i fact i fact %= key fact key ans = 1 ans 1 tmp = fact tmp fact p = key -2 p key -2 key 2 N = math.ceil(math.log2(p)) N math.ceil(math.log2(p)) math.ceil math ceil math.log2(p) math.log2 math log2 p for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
     i range(N) range N if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
         p >>i&1 == 1 p >>i&1 p >>i p i 1 1 ans *= tmp ans tmp tmp *= tmp tmp tmp tmp %= key tmp key ans %= key ans key ans *= perm ans perm ans %= key ans key return ans ans r r ans -= comb(a) ans comb(a) comb a ans -= comb(b) ans comb(b) comb b ans %= key ans key print(ans) print ans ans = 1 1 ans ans *= tmp tmp ans def comb(r):
    #permutation
    perm = 1
    for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
    fact = 1
    for i in range(1,r+1):
        fact *= i
        fact %= key
    
    ans = 1
    tmp = fact
    p = key -2
    N = math.ceil(math.log2(p))
    #繰り返し二乗法
    for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
    ans *= perm
    ans %= key
    return ans def comb(r):
    #permutation
    perm = 1
    for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
    fact = 1
    for i in range(1,r+1):
        fact *= i
        fact %= key
    
    ans = 1
    tmp = fact
    p = key -2
    N = math.ceil(math.log2(p))
    #繰り返し二乗法
    for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
    ans *= perm
    ans %= key
    return ans comb ans -= comb(a) comb(a) ans b = map(int,input().split()) map(int,input().split()) b a, b = map(int,input().split()) map(int,input().split()) a tmp *= tmp tmp tmp ans %= key key ans n, a, b = map(int,input().split()) map(int,input().split()) n ans %= key key ans ans -= 1 1 ans tmp = 2 2 tmp N = math.ceil(math.log2(n)) math.ceil(math.log2(n)) N ans -= comb(b) comb(b) ans key = 10**9 + 7 10**9 + 7 key tmp %= key key tmp
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 13 19:51:37 2020

@author: liang
"""

import math

key = 10**9 + 7

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

ans = 1
tmp = 2
N = math.ceil(math.log2(n))

#繰り返し二乗法
for i in range(N+1):
    if n>>i&1 == 1:
        #print(i,tmp)
        ans *= tmp
    tmp *= tmp
    tmp %= key
    ans %= key
ans -= 1
#print("1",ans)

def comb(r):
    #permutation
    perm = 1
    for i in range(0,r):
        perm *= n - i
        perm %= key
    
    #factorial
    fact = 1
    for i in range(1,r+1):
        fact *= i
        fact %= key
    
    ans = 1
    tmp = fact
    p = key -2
    N = math.ceil(math.log2(p))
    #繰り返し二乗法
    for i in range(N):
        if  p >>i&1 == 1:
            #print(i,tmp)
            ans *= tmp
        tmp *= tmp
        tmp %= key
        ans %= key
    ans *= perm
    ans %= key
    return ans

ans -= comb(a)
ans -= comb(b)
ans %= key
#print("2",comb(a))
#print("3",comb(b))
print(ans)