import sys

sys.setrecursionlimit(10 ** 6)

input = sys.stdin.readline

n, a, b = [int(x) for x in input().strip().split()]

mod = 10 ** 9 + 7

ans = pow(2, n, mod) - 1



fact = [1] * (b + 1)

for i in range(1, b+1):

    fact[i] = (fact[i-1] * i) % mod



inv = [1] * (b + 1)

inv[-1] = pow(fact[-1], mod-2, mod)

for i in range(1, b):

    inv[-1-i] = (inv[-1-i+1] * (b-(i-1))) % mod



def nCr(n, r):

    ret = 1

    for i in range(r):

        ret = (ret * (n - i) % mod) % mod

    return (ret * inv[r]) % mod



ans = (ans - nCr(n, a)) % mod

ans = (ans - nCr(n, b)) % mod

print(ans)
import sys

sys.setrecursionlimit(10 ** 6)

input = sys.stdin.readline

n, a, b = [int(x) for x in input().strip().split()]

mod = 10 ** 9 + 7

ans = pow(2, n, mod) - 1



num = 1

den = 1

for i in range(a):

    den = (den * (i+1)) % mod

    num = (num * (n-i)) % mod

ans = (ans - (num * pow(den, mod-2, mod)) % mod ) % mod



for i in range(a, b):

    den = (den * (i+1)) % mod

    num = (num * (n-i)) % mod

ans = (ans - (num * pow(den, mod-2, mod)) % mod ) % mod



print(ans)
import sys

sys.setrecursionlimit(10**6)
input = sys.stdin.readline
n, a, b = [int(x) for x in input().strip().split()]
mod = 10**9 + 7
ans = pow(2, n, mod) - 1
fact = [1] * (b + 1)
for i in range(1, b + 1):
    fact[i] = (fact[i - 1] * i) % mod
inv = [1] * (b + 1)
inv[-1] = pow(fact[-1], mod - 2, mod)
for i in range(1, b):
    inv[-1 - i] = (inv[-1 - i + 1] * (b - (i - 1))) % mod


def nCr(n, r):
    ret = 1
    for i in range(r):
        ret = (ret * (n - i) % mod) % mod
    return (ret * inv[r]) % mod


ans = (ans - nCr(n, a)) % mod
ans = (ans - nCr(n, b)) % mod
print(ans)

import sys

sys.setrecursionlimit(10**6)
input = sys.stdin.readline
n, a, b = [int(x) for x in input().strip().split()]
mod = 10**9 + 7
ans = pow(2, n, mod) - 1
num = 1
den = 1
for i in range(a):
    den = (den * (i + 1)) % mod
    num = (num * (n - i)) % mod
ans = (ans - (num * pow(den, mod - 2, mod)) % mod) % mod
for i in range(a, b):
    den = (den * (i + 1)) % mod
    num = (num * (n - i)) % mod
ans = (ans - (num * pow(den, mod - 2, mod)) % mod) % mod
print(ans)

-fact = [1] * (b + 1) -for i in range(1, b + 1): -    fact[i] = (fact[i - 1] * i) % mod -inv = [1] * (b + 1) -inv[-1] = pow(fact[-1], mod - 2, mod) -for i in range(1, b): -    inv[-1 - i] = (inv[-1 - i + 1] * (b - (i - 1))) % mod - - -def nCr(n, r): -    ret = 1 -    for i in range(r): -        ret = (ret * (n - i) % mod) % mod -    return (ret * inv[r]) % mod - - -ans = (ans - nCr(n, a)) % mod -ans = (ans - nCr(n, b)) % mod +num = 1 +den = 1 +for i in range(a): +    den = (den * (i + 1)) % mod +    num = (num * (n - i)) % mod +ans = (ans - (num * pow(den, mod - 2, mod)) % mod) % mod +for i in range(a, b): +    den = (den * (i + 1)) % mod +    num = (num * (n - i)) % mod +ans = (ans - (num * pow(den, mod - 2, mod)) % mod) % mod