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

def modinv(n):
    return pow(n, M-2, M)

def comb(n, r):
    num = 1
    for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

    denom = 1
    for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

    return num * modinv(denom) % M


print((pow(2, n, M) - comb(n, a) - comb(n, b) - 1) % M) M = 10**9 + 7 M 10**9 + 7 10**9 10 9 7 n,a,b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b def modinv(n):
    return pow(n, M-2, M) modinv return pow(n, M-2, M) pow(n, M-2, M) pow n M-2 M 2 M n n def comb(n, r):
    num = 1
    for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

    denom = 1
    for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

    return num * modinv(denom) % M comb num = 1 num 1 for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

     i range(n,n-r,-1) range n n-r n r -1 cur = i cur i while cur%M == 0:
            cur //= M
         cur%M == 0 cur%M cur M 0 cur //= M cur M num = (num*cur)%M num (num*cur)%M num*cur num cur M denom = 1 denom 1 for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

     i range(1,r+1) range 1 r+1 r 1 cur = i cur i while cur%M == 0:
            cur //= M
         cur%M == 0 cur%M cur M 0 cur //= M cur M denom = (denom*cur)%M denom (denom*cur)%M denom*cur denom cur M return num * modinv(denom) % M num * modinv(denom) % M num * modinv(denom) num modinv(denom) modinv denom M n n r r print((pow(2, n, M) - comb(n, a) - comb(n, b) - 1) % M) print (pow(2, n, M) - comb(n, a) - comb(n, b) - 1) % M pow(2, n, M) - comb(n, a) - comb(n, b) - 1 pow(2, n, M) - comb(n, a) - comb(n, b) pow(2, n, M) - comb(n, a) pow(2, n, M) pow 2 n M comb(n, a) comb n a comb(n, b) comb n b 1 M def comb(n, r):
    num = 1
    for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

    denom = 1
    for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

    return num * modinv(denom) % M def comb(n, r):
    num = 1
    for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

    denom = 1
    for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

    return num * modinv(denom) % M comb a,b = map(int, input().split()) map(int, input().split()) a n,a,b = map(int, input().split()) map(int, input().split()) n def modinv(n):
    return pow(n, M-2, M) def modinv(n):
    return pow(n, M-2, M) modinv b = map(int, input().split()) map(int, input().split()) b M = 10**9 + 7 10**9 + 7 M
M = 10**9 + 7
n,a,b = map(int, input().split())

def modinv(n):
    return pow(n, M-2, M)

def comb(n, r):
    num = 1
    for i in range(n,n-r,-1):
        cur = i
        while cur%M == 0:
            cur //= M
        num = (num*cur)%M

    denom = 1
    for i in range(1,r+1):
        cur = i
        while cur%M == 0:
            cur //= M
        denom = (denom*cur)%M

    return num * modinv(denom) % M


print((pow(2, n, M) - comb(n, a) - comb(n, b) - 1) % M)