def d_bouquet(MOD=10**9 + 7):

    N, A, B = [int(i) for i in input().split()]

    from operator import mul

    from functools import reduce



    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)



    return (ans + MOD) % MOD



print((d_bouquet()))
from functools import reduce
def d_bouquet(MOD=10**9 + 7):

    from functools import reduce

    N, A, B = [int(i) for i in input().split()]



    def comb(m, r):

        numerator = reduce(lambda x, y: x * y % MOD, list(range(m, m - r, -1)))

        denominator = reduce(lambda x, y: x * y % MOD, list(range(1, r + 1)))

        return (numerator * pow(denominator, MOD - 2, MOD)) % MOD



    return (pow(2, N, MOD) - 1 - (comb(N, A) + comb(N, B))) % MOD



print((d_bouquet()))
def d_bouquet(MOD=10**9 + 7):
    N, A, B = [int(i) for i in input().split()]
    from operator import mul
    from functools import reduce

    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)
    return (ans + MOD) % MOD


print((d_bouquet()))

from functools import reduce


def d_bouquet(MOD=10**9 + 7):
    from functools import reduce

    N, A, B = [int(i) for i in input().split()]

    def comb(m, r):
        numerator = reduce(lambda x, y: x * y % MOD, list(range(m, m - r, -1)))
        denominator = reduce(lambda x, y: x * y % MOD, list(range(1, r + 1)))
        return (numerator * pow(denominator, MOD - 2, MOD)) % MOD

    return (pow(2, N, MOD) - 1 - (comb(N, A) + comb(N, B))) % MOD


print((d_bouquet()))

+from functools import reduce + + -    N, A, B = [int(i) for i in input().split()] -    from operator import mul -    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 +    N, A, B = [int(i) for i in input().split()] -    ans = pow(2, N, MOD) - 1 -    ans -= cmb(N, A) -    ans -= cmb(N, B) -    return (ans + MOD) % MOD +    def comb(m, r): +        numerator = reduce(lambda x, y: x * y % MOD, list(range(m, m - r, -1))) +        denominator = reduce(lambda x, y: x * y % MOD, list(range(1, r + 1))) +        return (numerator * pow(denominator, MOD - 2, MOD)) % MOD + +    return (pow(2, N, MOD) - 1 - (comb(N, A) + comb(N, B))) % MOD