import sys, bisect, math, itertools, string, queue, copy
import numpy as np
import scipy
from collections import Counter,defaultdict,deque
from itertools import permutations, combinations
from heapq import heappop, heappush
from fractions import gcd
input = sys.stdin.readline
sys.setrecursionlimit(10**8)
mod = 10**9+7
def inp(): return int(input())
def inpm(): return map(int,input().split())
def inpl(): return list(map(int, input().split()))
def inpls(): return list(input().split())
def inplm(n): return list(int(input()) for _ in range(n))
def inplL(n): return [list(input()) for _ in range(n)]
def inplT(n): return [tuple(input()) for _ in range(n)]
def inpll(n): return [list(map(int, input().split())) for _ in range(n)]
def inplls(n): return sorted([list(map(int, input().split())) for _ in range(n)])

n,a,b = inpm()

def pow_k(x, n):
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

    return K * x

ret = (pow_k(2,n) - 1) % mod

modinv_table = [-1] * (max(a,b)+1)
modinv_table[1] = 1
for i in range(2, max(a,b)+1):
    modinv_table[i] = (-modinv_table[mod % i] * (mod // i)) % mod

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

aa = binomial_coefficients(n,a) % mod
bb = binomial_coefficients(n,b) % mod

ret = (ret - aa - bb) % mod

print(ret) import sys, bisect, math, itertools, string, queue, copy sys bisect math itertools string queue copy import numpy as np numpy import scipy scipy from collections import Counter,defaultdict,deque from itertools import permutations, combinations from heapq import heappop, heappush from fractions import gcd input = sys.stdin.readline input sys.stdin.readline sys.stdin sys stdin readline 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 def inp(): return int(input()) inp def inpm(): return map(int,input().split()) inpm def inpl(): return list(map(int, input().split())) inpl def inpls(): return list(input().split()) inpls def inplm(n): return list(int(input()) for _ in range(n)) inplm n n list(input()) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) list(input()) list input() input def inplL(n): return [list(input()) for _ in range(n)] inplL n n tuple(input()) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) tuple(input()) tuple input() input def inplT(n): return [tuple(input()) for _ in range(n)] inplT n n list(map(int, input().split())) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split def inpll(n): return [list(map(int, input().split())) for _ in range(n)] inpll n n list(map(int, input().split())) for _ in range(n) for _ in range(n) _ range(n) range n for _ in range(n) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split def inplls(n): return sorted([list(map(int, input().split())) for _ in range(n)]) inplls n n n,a,b = inpm() n inpm() inpm a b def pow_k(x, n):
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

    return K * x pow_k if n == 0:
        return 1

     n == 0 n 0 return 1 1 K = 1 K 1 while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

     n > 1 n 1 if n % 2 != 0:
            K = K * x % mod
         n % 2 != 0 n % 2 n 2 0 K = K * x % mod K K * x % mod K * x K x mod x *= x % mod x x % mod x mod n = n // 2 % mod n n // 2 % mod n // 2 n 2 mod return K * x K * x K x x x n n ret = (pow_k(2,n) - 1) % mod ret (pow_k(2,n) - 1) % mod pow_k(2,n) - 1 pow_k(2,n) pow_k 2 n 1 mod modinv_table = [-1] * (max(a,b)+1) modinv_table [-1] * (max(a,b)+1) [-1] -1 max(a,b)+1 max(a,b) max a b 1 modinv_table[1] = 1 modinv_table[1] modinv_table 1 1 for i in range(2, max(a,b)+1):
    modinv_table[i] = (-modinv_table[mod % i] * (mod // i)) % mod i range(2, max(a,b)+1) range 2 max(a,b)+1 max(a,b) max a b 1 modinv_table[i] = (-modinv_table[mod % i] * (mod // i)) % mod modinv_table[i] modinv_table i (-modinv_table[mod % i] * (mod // i)) % mod -modinv_table[mod % i] * (mod // i) -modinv_table[mod % i] modinv_table[mod % i] modinv_table mod % i mod i mod // i mod i mod def binomial_coefficients(n, k):
    ans = 1
    for i in range(k):
        ans *= n-i
        ans *= modinv_table[i + 1]
        ans %= mod
    return ans binomial_coefficients ans = 1 ans 1 for i in range(k):
        ans *= n-i
        ans *= modinv_table[i + 1]
        ans %= mod
     i range(k) range k ans *= n-i ans n-i n i ans *= modinv_table[i + 1] ans modinv_table[i + 1] modinv_table i + 1 i 1 ans %= mod ans mod return ans ans n n k k aa = binomial_coefficients(n,a) % mod aa binomial_coefficients(n,a) % mod binomial_coefficients(n,a) binomial_coefficients n a mod bb = binomial_coefficients(n,b) % mod bb binomial_coefficients(n,b) % mod binomial_coefficients(n,b) binomial_coefficients n b mod ret = (ret - aa - bb) % mod ret (ret - aa - bb) % mod ret - aa - bb ret - aa ret aa bb mod print(ret) print ret ret = (pow_k(2,n) - 1) % mod (pow_k(2,n) - 1) % mod ret n,a,b = inpm() inpm() n def inpls(): return list(input().split()) def inpls(): return list(input().split()) inpls mod = 10**9+7 10**9+7 mod def inpl(): return list(map(int, input().split())) def inpl(): return list(map(int, input().split())) inpl bb = binomial_coefficients(n,b) % mod binomial_coefficients(n,b) % mod bb def inplls(n): return sorted([list(map(int, input().split())) for _ in range(n)]) def inplls(n): return sorted([list(map(int, input().split())) for _ in range(n)]) inplls a,b = inpm() inpm() a b = inpm() inpm() b def inplT(n): return [tuple(input()) for _ in range(n)] def inplT(n): return [tuple(input()) for _ in range(n)] inplT def inp(): return int(input()) def inp(): return int(input()) inp def inplL(n): return [list(input()) for _ in range(n)] def inplL(n): return [list(input()) for _ in range(n)] inplL def pow_k(x, n):
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

    return K * x def pow_k(x, n):
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

    return K * x pow_k def inpm(): return map(int,input().split()) def inpm(): return map(int,input().split()) inpm aa = binomial_coefficients(n,a) % mod binomial_coefficients(n,a) % mod aa def inpll(n): return [list(map(int, input().split())) for _ in range(n)] def inpll(n): return [list(map(int, input().split())) for _ in range(n)] inpll def inplm(n): return list(int(input()) for _ in range(n)) def inplm(n): return list(int(input()) for _ in range(n)) inplm ret = (ret - aa - bb) % mod (ret - aa - bb) % mod ret input = sys.stdin.readline sys.stdin.readline input def binomial_coefficients(n, k):
    ans = 1
    for i in range(k):
        ans *= n-i
        ans *= modinv_table[i + 1]
        ans %= mod
    return ans def binomial_coefficients(n, k):
    ans = 1
    for i in range(k):
        ans *= n-i
        ans *= modinv_table[i + 1]
        ans %= mod
    return ans binomial_coefficients modinv_table = [-1] * (max(a,b)+1) [-1] * (max(a,b)+1) modinv_table
import sys, bisect, math, itertools, string, queue, copy
import numpy as np
import scipy
from collections import Counter,defaultdict,deque
from itertools import permutations, combinations
from heapq import heappop, heappush
from fractions import gcd
input = sys.stdin.readline
sys.setrecursionlimit(10**8)
mod = 10**9+7
def inp(): return int(input())
def inpm(): return map(int,input().split())
def inpl(): return list(map(int, input().split()))
def inpls(): return list(input().split())
def inplm(n): return list(int(input()) for _ in range(n))
def inplL(n): return [list(input()) for _ in range(n)]
def inplT(n): return [tuple(input()) for _ in range(n)]
def inpll(n): return [list(map(int, input().split())) for _ in range(n)]
def inplls(n): return sorted([list(map(int, input().split())) for _ in range(n)])

n,a,b = inpm()

def pow_k(x, n):
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x % mod
        x *= x % mod
        n = n // 2 % mod

    return K * x

ret = (pow_k(2,n) - 1) % mod

modinv_table = [-1] * (max(a,b)+1)
modinv_table[1] = 1
for i in range(2, max(a,b)+1):
    modinv_table[i] = (-modinv_table[mod % i] * (mod // i)) % mod

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

aa = binomial_coefficients(n,a) % mod
bb = binomial_coefficients(n,b) % mod

ret = (ret - aa - bb) % mod

print(ret)