def modinv(a,m):

    return pow(a,m-2,m)



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



P = 10**9+7



nCa = 1



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

    nCa = nCa*(n+1-i)*modinv(i,P)%P

nCb = nCa

for j in range(a+1,b+1):

    nCb = nCb*(n+1-j)*modinv(j,P)%P



ans = (pow(2,n,P) -1 - nCa - nCb + 2*P)%P

print(ans)

def comb(n, r, mod):

    r = min(r, n-r)

    mol = 1

    for i in range(n-r+1, n+1):

        mol = (mol * i) % mod

    deno = 1

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

        deno = (deno * i) % mod

    ret = mol * pow(deno, mod-2, mod) % mod

    return ret



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



P = 10**9+7



nCa = comb(n, a, P)

nCb = comb(n, b, P)



ans = (pow(2,n,P) -1 - nCa - nCb + 2*P)%P

print(ans)

def modinv(a, m):
    return pow(a, m - 2, m)


n, a, b = list(map(int, input().split()))
P = 10**9 + 7
nCa = 1
for i in range(1, a + 1):
    nCa = nCa * (n + 1 - i) * modinv(i, P) % P
nCb = nCa
for j in range(a + 1, b + 1):
    nCb = nCb * (n + 1 - j) * modinv(j, P) % P
ans = (pow(2, n, P) - 1 - nCa - nCb + 2 * P) % P
print(ans)

def comb(n, r, mod):
    r = min(r, n - r)
    mol = 1
    for i in range(n - r + 1, n + 1):
        mol = (mol * i) % mod
    deno = 1
    for i in range(1, r + 1):
        deno = (deno * i) % mod
    ret = mol * pow(deno, mod - 2, mod) % mod
    return ret


n, a, b = list(map(int, input().split()))
P = 10**9 + 7
nCa = comb(n, a, P)
nCb = comb(n, b, P)
ans = (pow(2, n, P) - 1 - nCa - nCb + 2 * P) % P
print(ans)

-def modinv(a, m): -    return pow(a, m - 2, m) +def comb(n, r, mod): +    r = min(r, n - r) +    mol = 1 +    for i in range(n - r + 1, n + 1): +        mol = (mol * i) % mod +    deno = 1 +    for i in range(1, r + 1): +        deno = (deno * i) % mod +    ret = mol * pow(deno, mod - 2, mod) % mod +    return ret -nCa = 1 -for i in range(1, a + 1): -    nCa = nCa * (n + 1 - i) * modinv(i, P) % P -nCb = nCa -for j in range(a + 1, b + 1): -    nCb = nCb * (n + 1 - j) * modinv(j, P) % P +nCa = comb(n, a, P) +nCb = comb(n, b, P)