# import sys
# sys.setrecursionlimit(10 ** 6)


def cmb2(n, r, mod):
    if n < r:
        return 0
    re = 1
    for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
    for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
    return re % mod


def inverse(a, p):
    a_, p_ = a, p
    x, y = 1, 0
    while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
    x %= p
    return x


# from decorator import stop_watch
# 
# 
# @stop_watch
def solve(n, a, b):
    mod = 10 ** 9 + 7
    ans = pow(2, n, mod)
    ans = (ans - cmb2(n, a, mod)) % mod
    ans = (ans - cmb2(n, b, mod)) % mod
    ans -= 1  # remove zero flower pattern
    print(ans)


if __name__ == '__main__':
    n, a, b = map(int, input().split())
    solve(n, a, b) def cmb2(n, r, mod):
    if n < r:
        return 0
    re = 1
    for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
    for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
    return re % mod cmb2 if n < r:
        return 0
     n < r n r return 0 0 re = 1 re 1 for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
     i range(n - r + 1, n + 1) range n - r + 1 n - r n r 1 n + 1 n 1 re = (re * i) % mod re (re * i) % mod re * i re i mod for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
     i range(1, r + 1) range 1 r + 1 r 1 re = (re * inverse(i, mod)) % mod re (re * inverse(i, mod)) % mod re * inverse(i, mod) re inverse(i, mod) inverse i mod mod return re % mod re % mod re mod n n r r mod mod def inverse(a, p):
    a_, p_ = a, p
    x, y = 1, 0
    while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
    x %= p
    return x


# from decorator import stop_watch
# 
# 
# @stop_watch inverse a_, p_ = a, p a_ a p_ p x, y = 1, 0 x 1 y 0 while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
     p_ t = a_ // p_ t a_ // p_ a_ p_ a_ -= t * p_ a_ t * p_ t p_ a_, p_ = p_, a_ a_ p_ p_ a_ x -= t * y x t * y t y x, y = y, x x y y x x %= p x p return x x a a p p def solve(n, a, b):
    mod = 10 ** 9 + 7
    ans = pow(2, n, mod)
    ans = (ans - cmb2(n, a, mod)) % mod
    ans = (ans - cmb2(n, b, mod)) % mod
    ans -= 1  # remove zero flower pattern
    print(ans) solve mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 ans = pow(2, n, mod) ans pow(2, n, mod) pow 2 n mod ans = (ans - cmb2(n, a, mod)) % mod ans (ans - cmb2(n, a, mod)) % mod ans - cmb2(n, a, mod) ans cmb2(n, a, mod) cmb2 n a mod mod ans = (ans - cmb2(n, b, mod)) % mod ans (ans - cmb2(n, b, mod)) % mod ans - cmb2(n, b, mod) ans cmb2(n, b, mod) cmb2 n b mod mod ans -= 1 ans 1 print(ans) print ans n n a a b b if __name__ == '__main__':
    n, a, b = map(int, input().split())
    solve(n, a, b) __name__ == '__main__' __name__ '__main__' n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b solve(n, a, b) solve n a b a, b = map(int, input().split()) map(int, input().split()) a def inverse(a, p):
    a_, p_ = a, p
    x, y = 1, 0
    while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
    x %= p
    return x


# from decorator import stop_watch
# 
# 
# @stop_watch def inverse(a, p):
    a_, p_ = a, p
    x, y = 1, 0
    while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
    x %= p
    return x


# from decorator import stop_watch
# 
# 
# @stop_watch inverse b = map(int, input().split()) map(int, input().split()) b def cmb2(n, r, mod):
    if n < r:
        return 0
    re = 1
    for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
    for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
    return re % mod def cmb2(n, r, mod):
    if n < r:
        return 0
    re = 1
    for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
    for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
    return re % mod cmb2 def solve(n, a, b):
    mod = 10 ** 9 + 7
    ans = pow(2, n, mod)
    ans = (ans - cmb2(n, a, mod)) % mod
    ans = (ans - cmb2(n, b, mod)) % mod
    ans -= 1  # remove zero flower pattern
    print(ans) def solve(n, a, b):
    mod = 10 ** 9 + 7
    ans = pow(2, n, mod)
    ans = (ans - cmb2(n, a, mod)) % mod
    ans = (ans - cmb2(n, b, mod)) % mod
    ans -= 1  # remove zero flower pattern
    print(ans) solve n, a, b = map(int, input().split()) map(int, input().split()) n
# import sys
# sys.setrecursionlimit(10 ** 6)


def cmb2(n, r, mod):
    if n < r:
        return 0
    re = 1
    for i in range(n - r + 1, n + 1):
        re = (re * i) % mod
    for i in range(1, r + 1):
        re = (re * inverse(i, mod)) % mod
    return re % mod


def inverse(a, p):
    a_, p_ = a, p
    x, y = 1, 0
    while p_:
        t = a_ // p_
        a_ -= t * p_
        a_, p_ = p_, a_
        x -= t * y
        x, y = y, x
    x %= p
    return x


# from decorator import stop_watch
# 
# 
# @stop_watch
def solve(n, a, b):
    mod = 10 ** 9 + 7
    ans = pow(2, n, mod)
    ans = (ans - cmb2(n, a, mod)) % mod
    ans = (ans - cmb2(n, b, mod)) % mod
    ans -= 1  # remove zero flower pattern
    print(ans)


if __name__ == '__main__':
    n, a, b = map(int, input().split())
    solve(n, a, b)
