#!/usr/bin/env python3
import collections as cl
import sys


def comb(n, r, mod=10 ** 9 + 7):
    r = min(r, n-r)
    upper = 1

    for i in range(n, n-r, -1):
        upper = (upper * i) % mod

    lower = 1

    for i in range(1, r+1):
        lower = (lower * i) % mod

    lower_inv = pow(lower, mod - 2, mod)

    return (upper * lower_inv) % mod


def II():
    return int(sys.stdin.readline())


def MI():
    return map(int, sys.stdin.readline().split())


def LI():
    return list(map(int, sys.stdin.readline().split()))


def main():
    n, a, b = MI()

    ttl = pow(2, n, 10**9+7) - 1

    a_ttl = comb(n, a)
    b_ttl = comb(n, b)

    print((ttl - a_ttl - b_ttl) % (10**9+7))


main() import collections as cl collections import sys sys def comb(n, r, mod=10 ** 9 + 7):
    r = min(r, n-r)
    upper = 1

    for i in range(n, n-r, -1):
        upper = (upper * i) % mod

    lower = 1

    for i in range(1, r+1):
        lower = (lower * i) % mod

    lower_inv = pow(lower, mod - 2, mod)

    return (upper * lower_inv) % mod comb r = min(r, n-r) r min(r, n-r) min r n-r n r upper = 1 upper 1 for i in range(n, n-r, -1):
        upper = (upper * i) % mod

     i range(n, n-r, -1) range n n-r n r -1 upper = (upper * i) % mod upper (upper * i) % mod upper * i upper i mod lower = 1 lower 1 for i in range(1, r+1):
        lower = (lower * i) % mod

     i range(1, r+1) range 1 r+1 r 1 lower = (lower * i) % mod lower (lower * i) % mod lower * i lower i mod lower_inv = pow(lower, mod - 2, mod) lower_inv pow(lower, mod - 2, mod) pow lower mod - 2 mod 2 mod return (upper * lower_inv) % mod (upper * lower_inv) % mod upper * lower_inv upper lower_inv mod n n r r mod=10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 def II():
    return int(sys.stdin.readline()) II return int(sys.stdin.readline()) int(sys.stdin.readline()) int sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline def MI():
    return map(int, sys.stdin.readline().split()) MI return map(int, sys.stdin.readline().split()) map(int, sys.stdin.readline().split()) map int sys.stdin.readline().split() sys.stdin.readline().split sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline split def LI():
    return list(map(int, sys.stdin.readline().split())) LI return list(map(int, sys.stdin.readline().split())) list(map(int, sys.stdin.readline().split())) list map(int, sys.stdin.readline().split()) map int sys.stdin.readline().split() sys.stdin.readline().split sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline split def main():
    n, a, b = MI()

    ttl = pow(2, n, 10**9+7) - 1

    a_ttl = comb(n, a)
    b_ttl = comb(n, b)

    print((ttl - a_ttl - b_ttl) % (10**9+7)) main n, a, b = MI() n MI() MI a b ttl = pow(2, n, 10**9+7) - 1 ttl pow(2, n, 10**9+7) - 1 pow(2, n, 10**9+7) pow 2 n 10**9+7 10**9 10 9 7 1 a_ttl = comb(n, a) a_ttl comb(n, a) comb n a b_ttl = comb(n, b) b_ttl comb(n, b) comb n b print((ttl - a_ttl - b_ttl) % (10**9+7)) print (ttl - a_ttl - b_ttl) % (10**9+7) ttl - a_ttl - b_ttl ttl - a_ttl ttl a_ttl b_ttl 10**9+7 10**9 10 9 7 main() main def LI():
    return list(map(int, sys.stdin.readline().split())) def LI():
    return list(map(int, sys.stdin.readline().split())) LI def main():
    n, a, b = MI()

    ttl = pow(2, n, 10**9+7) - 1

    a_ttl = comb(n, a)
    b_ttl = comb(n, b)

    print((ttl - a_ttl - b_ttl) % (10**9+7)) def main():
    n, a, b = MI()

    ttl = pow(2, n, 10**9+7) - 1

    a_ttl = comb(n, a)
    b_ttl = comb(n, b)

    print((ttl - a_ttl - b_ttl) % (10**9+7)) main def II():
    return int(sys.stdin.readline()) def II():
    return int(sys.stdin.readline()) II def MI():
    return map(int, sys.stdin.readline().split()) def MI():
    return map(int, sys.stdin.readline().split()) MI def comb(n, r, mod=10 ** 9 + 7):
    r = min(r, n-r)
    upper = 1

    for i in range(n, n-r, -1):
        upper = (upper * i) % mod

    lower = 1

    for i in range(1, r+1):
        lower = (lower * i) % mod

    lower_inv = pow(lower, mod - 2, mod)

    return (upper * lower_inv) % mod def comb(n, r, mod=10 ** 9 + 7):
    r = min(r, n-r)
    upper = 1

    for i in range(n, n-r, -1):
        upper = (upper * i) % mod

    lower = 1

    for i in range(1, r+1):
        lower = (lower * i) % mod

    lower_inv = pow(lower, mod - 2, mod)

    return (upper * lower_inv) % mod comb
#!/usr/bin/env python3
import collections as cl
import sys


def comb(n, r, mod=10 ** 9 + 7):
    r = min(r, n-r)
    upper = 1

    for i in range(n, n-r, -1):
        upper = (upper * i) % mod

    lower = 1

    for i in range(1, r+1):
        lower = (lower * i) % mod

    lower_inv = pow(lower, mod - 2, mod)

    return (upper * lower_inv) % mod


def II():
    return int(sys.stdin.readline())


def MI():
    return map(int, sys.stdin.readline().split())


def LI():
    return list(map(int, sys.stdin.readline().split()))


def main():
    n, a, b = MI()

    ttl = pow(2, n, 10**9+7) - 1

    a_ttl = comb(n, a)
    b_ttl = comb(n, b)

    print((ttl - a_ttl - b_ttl) % (10**9+7))


main()
