#!usr/bin/env pypy3
from collections import defaultdict, deque
from heapq import heappush, heappop
from itertools import permutations, accumulate
import sys
import math
import bisect
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS():return [list(x) for x in sys.stdin.readline().split()]
def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res
def IR(n): return [I() for i in range(n)]
def LIR(n): return [LI() for i in range(n)]
def SR(n): return [S() for i in range(n)]
def LSR(n): return [LS() for i in range(n)]

def lcm(a, b): return a * b // math.gcd(a, b)
def extgcd(a, b):
    if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0


sys.setrecursionlimit(1000000)
MOD = 1000000007



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

    a1, a2 = 1, 1
    for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
    b1, b2 = 1, 1
    for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
    nca = a1 * pow(a2, MOD-2, MOD) % MOD
    ncb = b1 * pow(b2, MOD-2, MOD) % MOD

    print((pow(2, n, MOD) - 1 - nca - ncb) % MOD)

main() from collections import defaultdict, deque from heapq import heappush, heappop from itertools import permutations, accumulate import sys sys import math math import bisect bisect int(x) for x in sys.stdin.readline().split() for x in sys.stdin.readline().split() x sys.stdin.readline().split() sys.stdin.readline().split sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline split for x in sys.stdin.readline().split() int(x) int x def LI(): return [int(x) for x in sys.stdin.readline().split()] LI def I(): return int(sys.stdin.readline()) I list(x) for x in sys.stdin.readline().split() for x in sys.stdin.readline().split() x sys.stdin.readline().split() sys.stdin.readline().split sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline split for x in sys.stdin.readline().split() list(x) list x def LS():return [list(x) for x in sys.stdin.readline().split()] LS def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res S res = list(sys.stdin.readline()) res list(sys.stdin.readline()) list sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline if res[-1] == "\n":
        return res[:-1]
     res[-1] == "\n" res[-1] res -1 "\n" return res[:-1] res[:-1] res :-1 -1 return res res I() for i in range(n) for i in range(n) i range(n) range n for i in range(n) I() I def IR(n): return [I() for i in range(n)] IR n n LI() for i in range(n) for i in range(n) i range(n) range n for i in range(n) LI() LI def LIR(n): return [LI() for i in range(n)] LIR n n S() for i in range(n) for i in range(n) i range(n) range n for i in range(n) S() S def SR(n): return [S() for i in range(n)] SR n n LS() for i in range(n) for i in range(n) i range(n) range n for i in range(n) LS() LS def LSR(n): return [LS() for i in range(n)] LSR n n def lcm(a, b): return a * b // math.gcd(a, b) lcm a a b b def extgcd(a, b):
    if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0 extgcd if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0 b d, y, x = extgcd(b, a%b) d extgcd(b, a%b) extgcd b a%b a b y x y -= (a/b)*x y (a/b)*x a/b a b x return d, x, y return d, x, y d x y return a, 1, 0 return a, 1, 0 a 1 0 a a b b sys.setrecursionlimit(1000000) sys.setrecursionlimit sys setrecursionlimit 1000000 MOD = 1000000007 MOD 1000000007 def main():
    n, a, b = LI()

    a1, a2 = 1, 1
    for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
    b1, b2 = 1, 1
    for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
    nca = a1 * pow(a2, MOD-2, MOD) % MOD
    ncb = b1 * pow(b2, MOD-2, MOD) % MOD

    print((pow(2, n, MOD) - 1 - nca - ncb) % MOD) main n, a, b = LI() n LI() LI a b a1, a2 = 1, 1 a1 1 a2 1 for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
     i range(1, a+1) range 1 a+1 a 1 a1 = a1 * (n - i + 1) % MOD a1 a1 * (n - i + 1) % MOD a1 * (n - i + 1) a1 n - i + 1 n - i n i 1 MOD a2 = a2 * i % MOD a2 a2 * i % MOD a2 * i a2 i MOD b1, b2 = 1, 1 b1 1 b2 1 for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
     i range(1, b+1) range 1 b+1 b 1 b1 = b1 * (n - i + 1) % MOD b1 b1 * (n - i + 1) % MOD b1 * (n - i + 1) b1 n - i + 1 n - i n i 1 MOD b2 = b2 * i % MOD b2 b2 * i % MOD b2 * i b2 i MOD nca = a1 * pow(a2, MOD-2, MOD) % MOD nca a1 * pow(a2, MOD-2, MOD) % MOD a1 * pow(a2, MOD-2, MOD) a1 pow(a2, MOD-2, MOD) pow a2 MOD-2 MOD 2 MOD MOD ncb = b1 * pow(b2, MOD-2, MOD) % MOD ncb b1 * pow(b2, MOD-2, MOD) % MOD b1 * pow(b2, MOD-2, MOD) b1 pow(b2, MOD-2, MOD) pow b2 MOD-2 MOD 2 MOD MOD print((pow(2, n, MOD) - 1 - nca - ncb) % MOD) print (pow(2, n, MOD) - 1 - nca - ncb) % MOD pow(2, n, MOD) - 1 - nca - ncb pow(2, n, MOD) - 1 - nca pow(2, n, MOD) - 1 pow(2, n, MOD) pow 2 n MOD 1 nca ncb MOD main() main def LI(): return [int(x) for x in sys.stdin.readline().split()] def LI(): return [int(x) for x in sys.stdin.readline().split()] LI def extgcd(a, b):
    if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0 def extgcd(a, b):
    if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0 extgcd def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res S def IR(n): return [I() for i in range(n)] def IR(n): return [I() for i in range(n)] IR def LIR(n): return [LI() for i in range(n)] def LIR(n): return [LI() for i in range(n)] LIR def SR(n): return [S() for i in range(n)] def SR(n): return [S() for i in range(n)] SR def main():
    n, a, b = LI()

    a1, a2 = 1, 1
    for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
    b1, b2 = 1, 1
    for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
    nca = a1 * pow(a2, MOD-2, MOD) % MOD
    ncb = b1 * pow(b2, MOD-2, MOD) % MOD

    print((pow(2, n, MOD) - 1 - nca - ncb) % MOD) def main():
    n, a, b = LI()

    a1, a2 = 1, 1
    for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
    b1, b2 = 1, 1
    for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
    nca = a1 * pow(a2, MOD-2, MOD) % MOD
    ncb = b1 * pow(b2, MOD-2, MOD) % MOD

    print((pow(2, n, MOD) - 1 - nca - ncb) % MOD) main def I(): return int(sys.stdin.readline()) def I(): return int(sys.stdin.readline()) I def LSR(n): return [LS() for i in range(n)] def LSR(n): return [LS() for i in range(n)] LSR MOD = 1000000007 1000000007 MOD def LS():return [list(x) for x in sys.stdin.readline().split()] def LS():return [list(x) for x in sys.stdin.readline().split()] LS def lcm(a, b): return a * b // math.gcd(a, b) def lcm(a, b): return a * b // math.gcd(a, b) lcm
#!usr/bin/env pypy3
from collections import defaultdict, deque
from heapq import heappush, heappop
from itertools import permutations, accumulate
import sys
import math
import bisect
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS():return [list(x) for x in sys.stdin.readline().split()]
def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res
def IR(n): return [I() for i in range(n)]
def LIR(n): return [LI() for i in range(n)]
def SR(n): return [S() for i in range(n)]
def LSR(n): return [LS() for i in range(n)]

def lcm(a, b): return a * b // math.gcd(a, b)
def extgcd(a, b):
    if b:
        d, y, x = extgcd(b, a%b)
        y -= (a/b)*x
        return d, x, y
    else:
        return a, 1, 0


sys.setrecursionlimit(1000000)
MOD = 1000000007



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

    a1, a2 = 1, 1
    for i in range(1, a+1):
        a1 = a1 * (n - i + 1) % MOD
        a2 = a2 * i % MOD
    b1, b2 = 1, 1
    for i in range(1, b+1):
        b1 = b1 * (n - i + 1) % MOD
        b2 = b2 * i % MOD
    nca = a1 * pow(a2, MOD-2, MOD) % MOD
    ncb = b1 * pow(b2, MOD-2, MOD) % MOD

    print((pow(2, n, MOD) - 1 - nca - ncb) % MOD)

main()
