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

mod=10**9+7



def cmb(n, r,mod):

    if n - r < r: r = n - r

    if r == 0: return 1

    if r == 1: return n



    #X//Y

    X=1

    Y=1

    for i in range(r):

        X*=(n-i)

        X%=mod

        Y*=(i+1)

        Y%=mod

        

    inv=pow(Y,mod-2,mod)

    return (X*inv)%mod

        

        





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

ans=(allp-cmb(n,a,mod)-cmb(n,b,mod))%mod

if n==2:

    ans=0



print(ans)
import sys

input = sys.stdin.readline



def I(): return int(eval(input()))

def MI(): return list(map(int, input().split()))

def LI(): return list(map(int, input().split()))



def main():

    mod=10**9+7

    N,a,b=MI()

    M=2*(10**5) + 5

    def cmb(n, r):

        if n - r < r: r = n - r

        if r == 0: return 1

        if r == 1: return n



        numerator = [n - r + k + 1 for k in range(r)]

        denominator = [k + 1 for k in range(r)]



        for p in range(2,r+1):

            pivot = denominator[p - 1]

            if pivot > 1:

                offset = (n - r) % p

                for k in range(p-1,r,p):

                    numerator[k - offset] /= pivot

                    denominator[k] /= pivot



        result = 1

        for k in range(r):

            if numerator[k] > 1:

                result *= int(numerator[k])

                result%=mod



        return result

        

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

    ans-=cmb(N,a)

    ans-=cmb(N,b)

    

    print((ans%mod))



main()

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


def cmb(n, r, mod):
    if n - r < r:
        r = n - r
    if r == 0:
        return 1
    if r == 1:
        return n
    # X//Y
    X = 1
    Y = 1
    for i in range(r):
        X *= n - i
        X %= mod
        Y *= i + 1
        Y %= mod
    inv = pow(Y, mod - 2, mod)
    return (X * inv) % mod


allp = pow(2, n, mod) - 1
ans = (allp - cmb(n, a, mod) - cmb(n, b, mod)) % mod
if n == 2:
    ans = 0
print(ans)

import sys

input = sys.stdin.readline


def I():
    return int(eval(input()))


def MI():
    return list(map(int, input().split()))


def LI():
    return list(map(int, input().split()))


def main():
    mod = 10**9 + 7
    N, a, b = MI()
    M = 2 * (10**5) + 5

    def cmb(n, r):
        if n - r < r:
            r = n - r
        if r == 0:
            return 1
        if r == 1:
            return n
        numerator = [n - r + k + 1 for k in range(r)]
        denominator = [k + 1 for k in range(r)]
        for p in range(2, r + 1):
            pivot = denominator[p - 1]
            if pivot > 1:
                offset = (n - r) % p
                for k in range(p - 1, r, p):
                    numerator[k - offset] /= pivot
                    denominator[k] /= pivot
        result = 1
        for k in range(r):
            if numerator[k] > 1:
                result *= int(numerator[k])
                result %= mod
        return result

    ans = pow(2, N, mod) - 1
    ans -= cmb(N, a)
    ans -= cmb(N, b)
    print((ans % mod))


main()

-n, a, b = list(map(int, input().split())) -mod = 10**9 + 7 +import sys + +input = sys.stdin.readline -def cmb(n, r, mod): -    if n - r < r: -        r = n - r -    if r == 0: -        return 1 -    if r == 1: -        return n -    # X//Y -    X = 1 -    Y = 1 -    for i in range(r): -        X *= n - i -        X %= mod -        Y *= i + 1 -        Y %= mod -    inv = pow(Y, mod - 2, mod) -    return (X * inv) % mod +def I(): +    return int(eval(input())) -allp = pow(2, n, mod) - 1 -ans = (allp - cmb(n, a, mod) - cmb(n, b, mod)) % mod -if n == 2: -    ans = 0 -print(ans) +def MI(): +    return list(map(int, input().split())) + + +def LI(): +    return list(map(int, input().split())) + + +def main(): +    mod = 10**9 + 7 +    N, a, b = MI() +    M = 2 * (10**5) + 5 + +    def cmb(n, r): +        if n - r < r: +            r = n - r +        if r == 0: +            return 1 +        if r == 1: +            return n +        numerator = [n - r + k + 1 for k in range(r)] +        denominator = [k + 1 for k in range(r)] +        for p in range(2, r + 1): +            pivot = denominator[p - 1] +            if pivot > 1: +                offset = (n - r) % p +                for k in range(p - 1, r, p): +                    numerator[k - offset] /= pivot +                    denominator[k] /= pivot +        result = 1 +        for k in range(r): +            if numerator[k] > 1: +                result *= int(numerator[k]) +                result %= mod +        return result + +    ans = pow(2, N, mod) - 1 +    ans -= cmb(N, a) +    ans -= cmb(N, b) +    print((ans % mod)) + + +main()