def combinations_mod(n, r, mod=1000000007):
    """Returns nCr in mod."""
    r = min(r, n - r)
    combs = 1
    for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
    return combs


def main():
    n, a, b = [int(x) for x in input().split()]
    mod = 1000000007
    total = pow(2, n, mod) - 1
    ans = total - combinations_mod(n, a) - combinations_mod(n, b)
    ans %= mod
    print(ans)


if __name__ == '__main__':
    main() def combinations_mod(n, r, mod=1000000007):
    """Returns nCr in mod."""
    r = min(r, n - r)
    combs = 1
    for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
    return combs combinations_mod """Returns nCr in mod.""" r = min(r, n - r) r min(r, n - r) min r n - r n r combs = 1 combs 1 for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
     i j zip(range(n - r + 1, n + 1), range(1, r + 1)) zip range(n - r + 1, n + 1) range n - r + 1 n - r n r 1 n + 1 n 1 range(1, r + 1) range 1 r + 1 r 1 combs *= (i % mod) * pow(j, mod - 2, mod) combs (i % mod) * pow(j, mod - 2, mod) i % mod i mod pow(j, mod - 2, mod) pow j mod - 2 mod 2 mod combs %= mod combs mod return combs combs n n r r mod=1000000007 mod 1000000007 def main():
    n, a, b = [int(x) for x in input().split()]
    mod = 1000000007
    total = pow(2, n, mod) - 1
    ans = total - combinations_mod(n, a) - combinations_mod(n, b)
    ans %= mod
    print(ans) main int(x) for x in input().split() for x in input().split() x input().split() ().split () input split for x in input().split() int(x) int x n, a, b = [int(x) for x in input().split()] n [int(x) for x in input().split()] a b mod = 1000000007 mod 1000000007 total = pow(2, n, mod) - 1 total pow(2, n, mod) - 1 pow(2, n, mod) pow 2 n mod 1 ans = total - combinations_mod(n, a) - combinations_mod(n, b) ans total - combinations_mod(n, a) - combinations_mod(n, b) total - combinations_mod(n, a) total combinations_mod(n, a) combinations_mod n a combinations_mod(n, b) combinations_mod n b ans %= mod ans mod print(ans) print ans if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def combinations_mod(n, r, mod=1000000007):
    """Returns nCr in mod."""
    r = min(r, n - r)
    combs = 1
    for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
    return combs def combinations_mod(n, r, mod=1000000007):
    """Returns nCr in mod."""
    r = min(r, n - r)
    combs = 1
    for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
    return combs combinations_mod def main():
    n, a, b = [int(x) for x in input().split()]
    mod = 1000000007
    total = pow(2, n, mod) - 1
    ans = total - combinations_mod(n, a) - combinations_mod(n, b)
    ans %= mod
    print(ans) def main():
    n, a, b = [int(x) for x in input().split()]
    mod = 1000000007
    total = pow(2, n, mod) - 1
    ans = total - combinations_mod(n, a) - combinations_mod(n, b)
    ans %= mod
    print(ans) main
def combinations_mod(n, r, mod=1000000007):
    """Returns nCr in mod."""
    r = min(r, n - r)
    combs = 1
    for i, j in zip(range(n - r + 1, n + 1), range(1, r + 1)):
        combs *= (i % mod) * pow(j, mod - 2, mod)
        combs %= mod
    return combs


def main():
    n, a, b = [int(x) for x in input().split()]
    mod = 1000000007
    total = pow(2, n, mod) - 1
    ans = total - combinations_mod(n, a) - combinations_mod(n, b)
    ans %= mod
    print(ans)


if __name__ == '__main__':
    main()
