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

mod = 10**9+7

c = pow(2,n,mod)

def nCr(n, r, mod):

	r = min(r, n-r)

	numer = denom = 1

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

		numer = numer * (n+1-i) % mod

		denom = denom * i % mod

	return numer * pow(denom, mod-2, mod) % mod

c -= 1

aa = nCr(n,a,mod)

bb = nCr(n,b,mod)

c -= (aa+bb)

print((c%mod))

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

mod = 10**9+7

def nCr(N, R, mod):

	R = min(R, N-R)

	numer = denom = 1

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

		numer = numer * (N+1-i) % mod

		denom = denom * i % mod

	return numer * pow(denom, mod-2, mod) % mod





ans = pow(2,n,mod)

ans -= 1

ans -= nCr(n,a,mod)

ans %= mod

ans -= nCr(n,b,mod)

ans %= mod

print (ans)
n, a, b = list(map(int, input().split()))
mod = 10**9 + 7
c = pow(2, n, mod)


def nCr(n, r, mod):
    r = min(r, n - r)
    numer = denom = 1
    for i in range(1, r + 1):
        numer = numer * (n + 1 - i) % mod
        denom = denom * i % mod
    return numer * pow(denom, mod - 2, mod) % mod


c -= 1
aa = nCr(n, a, mod)
bb = nCr(n, b, mod)
c -= aa + bb
print((c % mod))

n, a, b = list(map(int, input().split()))
mod = 10**9 + 7


def nCr(N, R, mod):
    R = min(R, N - R)
    numer = denom = 1
    for i in range(1, R + 1):
        numer = numer * (N + 1 - i) % mod
        denom = denom * i % mod
    return numer * pow(denom, mod - 2, mod) % mod


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

-c = pow(2, n, mod) -def nCr(n, r, mod): -    r = min(r, n - r) +def nCr(N, R, mod): +    R = min(R, N - R) -    for i in range(1, r + 1): -        numer = numer * (n + 1 - i) % mod +    for i in range(1, R + 1): +        numer = numer * (N + 1 - i) % mod -c -= 1 -aa = nCr(n, a, mod) -bb = nCr(n, b, mod) -c -= aa + bb -print((c % mod)) +ans = pow(2, n, mod) +ans -= 1 +ans -= nCr(n, a, mod) +ans %= mod +ans -= nCr(n, b, mod) +ans %= mod +print(ans)