def combinations_count(n, r, mod):
    r = min(r, n-r)
    p,k = 1,1
    for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
    return p*inv(k,mod)%mod
def inv(a, mod):
    return pow(a, mod - 2, mod)
def D():
    n,a,b = list(map(int, input().split()))
    mod = 10**9+7
    res = pow(2,n,mod) - 1
    res -= combinations_count(n, a, mod)
    res -= combinations_count(n, b, mod)
    print(res%mod)
D() def combinations_count(n, r, mod):
    r = min(r, n-r)
    p,k = 1,1
    for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
    return p*inv(k,mod)%mod combinations_count r = min(r, n-r) r min(r, n-r) min r n-r n r p,k = 1,1 p 1 k 1 for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
     i range(1,r+1) range 1 r+1 r 1 p *= (n-i+1) p n-i+1 n-i n i 1 k *= i k i p = p%mod p p%mod p mod k = k%mod k k%mod k mod return p*inv(k,mod)%mod p*inv(k,mod)%mod p*inv(k,mod) p inv(k,mod) inv k mod mod n n r r mod mod def inv(a, mod):
    return pow(a, mod - 2, mod) inv return pow(a, mod - 2, mod) pow(a, mod - 2, mod) pow a mod - 2 mod 2 mod a a mod mod def D():
    n,a,b = list(map(int, input().split()))
    mod = 10**9+7
    res = pow(2,n,mod) - 1
    res -= combinations_count(n, a, mod)
    res -= combinations_count(n, b, mod)
    print(res%mod) D n,a,b = list(map(int, input().split())) n list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split a b mod = 10**9+7 mod 10**9+7 10**9 10 9 7 res = pow(2,n,mod) - 1 res pow(2,n,mod) - 1 pow(2,n,mod) pow 2 n mod 1 res -= combinations_count(n, a, mod) res combinations_count(n, a, mod) combinations_count n a mod res -= combinations_count(n, b, mod) res combinations_count(n, b, mod) combinations_count n b mod print(res%mod) print res%mod res mod D() D def combinations_count(n, r, mod):
    r = min(r, n-r)
    p,k = 1,1
    for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
    return p*inv(k,mod)%mod def combinations_count(n, r, mod):
    r = min(r, n-r)
    p,k = 1,1
    for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
    return p*inv(k,mod)%mod combinations_count def D():
    n,a,b = list(map(int, input().split()))
    mod = 10**9+7
    res = pow(2,n,mod) - 1
    res -= combinations_count(n, a, mod)
    res -= combinations_count(n, b, mod)
    print(res%mod) def D():
    n,a,b = list(map(int, input().split()))
    mod = 10**9+7
    res = pow(2,n,mod) - 1
    res -= combinations_count(n, a, mod)
    res -= combinations_count(n, b, mod)
    print(res%mod) D def inv(a, mod):
    return pow(a, mod - 2, mod) def inv(a, mod):
    return pow(a, mod - 2, mod) inv
def combinations_count(n, r, mod):
    r = min(r, n-r)
    p,k = 1,1
    for i in range(1,r+1):
        p *= (n-i+1)
        k *= i
        p = p%mod
        k = k%mod
    return p*inv(k,mod)%mod
def inv(a, mod):
    return pow(a, mod - 2, mod)
def D():
    n,a,b = list(map(int, input().split()))
    mod = 10**9+7
    res = pow(2,n,mod) - 1
    res -= combinations_count(n, a, mod)
    res -= combinations_count(n, b, mod)
    print(res%mod)
D()