import sys
n, a, b = map(int, input().split())
mod = 10**9 + 7
sys.setrecursionlimit(10**9)

def f(x):
    if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod
def comb(n,k,p):
    """power_funcを用いて(nCk) mod p を求める"""
    from math import factorial
    if n<0 or k<0 or n<k: return 0
    if n==0 or k==0: return 1
    a=factorial(n) %p
    b=factorial(k) %p
    c=factorial(n-k) %p
    return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p
def power_func(a,b,p):
    """a^b mod p を求める"""
    if b==0: return 1
    if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
    if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解
def extgcd(a, b):
    r = [1, 0, a]
    w = [0, 1, b]
    while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
    return [w[0], w[1]]

# aの逆元(mod m)を求める。(aとmは互いに素であることが前提)
def mod_inv(a, m):
    x = extgcd(a, m)[0]
    return (m + x % m) % m

def nCm(a):
    ans = 1
    for i in range(a):
        ans *= n - i
        ans %= mod
    for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
    return ans

base = f(n)
comb_a = nCm(a)
comb_b = nCm(b)
print((base - comb_a - comb_b - 1) % mod) import sys sys n, a, b = map(int, input().split()) n 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 sys.setrecursionlimit(10**9) sys.setrecursionlimit sys setrecursionlimit 10**9 10 9 def f(x):
    if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod f if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod x == 0 x 0 return 1 1 elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
     x % 2 == 0 x % 2 x 2 0 return (f(x // 2) ** 2) % mod (f(x // 2) ** 2) % mod f(x // 2) ** 2 f(x // 2) f x // 2 x 2 2 mod return (f(x - 1) * 2) % mod (f(x - 1) * 2) % mod f(x - 1) * 2 f(x - 1) f x - 1 x 1 2 mod x x def comb(n,k,p):
    """power_funcを用いて(nCk) mod p を求める"""
    from math import factorial
    if n<0 or k<0 or n<k: return 0
    if n==0 or k==0: return 1
    a=factorial(n) %p
    b=factorial(k) %p
    c=factorial(n-k) %p
    return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p comb """power_funcを用いて(nCk) mod p を求める""" from math import factorial if n<0 or k<0 or n<k: return 0
     n<0 or k<0 or n<k n<0 or k<0 n<0 n 0 k<0 k 0 n<k n k if n==0 or k==0: return 1
     n==0 or k==0 n==0 n 0 k==0 k 0 a=factorial(n) %p a factorial(n) %p factorial(n) factorial n p b=factorial(k) %p b factorial(k) %p factorial(k) factorial k p c=factorial(n-k) %p c factorial(n-k) %p factorial(n-k) factorial n-k n k p return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p a*power_func(b,p-2,p)*power_func(c,p-2,p) a*power_func(b,p-2,p) a power_func(b,p-2,p) power_func b p-2 p 2 p power_func(c,p-2,p) power_func c p-2 p 2 p p n n k k p p def power_func(a,b,p):
    """a^b mod p を求める"""
    if b==0: return 1
    if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
    if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解 power_func """a^b mod p を求める""" if b==0: return 1
     b==0 b 0 if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
     b%2==0 b%2 b 2 0 d=power_func(a,b//2,p) d power_func(a,b//2,p) power_func a b//2 b 2 p return d*d %p d*d %p d*d d d p if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解 b%2==1 b%2 b 2 1 return (a*power_func(a,b-1,p ))%p (a*power_func(a,b-1,p ))%p a*power_func(a,b-1,p ) a power_func(a,b-1,p ) power_func a b-1 b 1 p p a a b b p p def extgcd(a, b):
    r = [1, 0, a]
    w = [0, 1, b]
    while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
    return [w[0], w[1]]

# aの逆元(mod m)を求める。(aとmは互いに素であることが前提) extgcd r = [1, 0, a] r [1, 0, a] 1 0 a w = [0, 1, b] w [0, 1, b] 0 1 b while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
     w[2] != 1 w[2] w 2 1 q = r[2] // w[2] q r[2] // w[2] r[2] r 2 w[2] w 2 r2 = w r2 w w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]] w2 [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]] r[0] - q * w[0] r[0] r 0 q * w[0] q w[0] w 0 r[1] - q * w[1] r[1] r 1 q * w[1] q w[1] w 1 r[2] - q * w[2] r[2] r 2 q * w[2] q w[2] w 2 r = r2 r r2 w = w2 w w2 return [w[0], w[1]] [w[0], w[1]] w[0] w 0 w[1] w 1 a a b b def mod_inv(a, m):
    x = extgcd(a, m)[0]
    return (m + x % m) % m mod_inv x = extgcd(a, m)[0] x extgcd(a, m)[0] (a, m) extgcd a m 0 return (m + x % m) % m (m + x % m) % m m + x % m m x % m x m m a a m m def nCm(a):
    ans = 1
    for i in range(a):
        ans *= n - i
        ans %= mod
    for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
    return ans nCm ans = 1 ans 1 for i in range(a):
        ans *= n - i
        ans %= mod
     i range(a) range a ans *= n - i ans n - i n i ans %= mod ans mod for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
     i range(1, a+1) range 1 a+1 a 1 ans *= mod_inv(i, mod) ans mod_inv(i, mod) mod_inv i mod ans %= mod ans mod return ans ans a a base = f(n) base f(n) f n comb_a = nCm(a) comb_a nCm(a) nCm a comb_b = nCm(b) comb_b nCm(b) nCm b print((base - comb_a - comb_b - 1) % mod) print (base - comb_a - comb_b - 1) % mod base - comb_a - comb_b - 1 base - comb_a - comb_b base - comb_a base comb_a comb_b 1 mod b = map(int, input().split()) map(int, input().split()) b def nCm(a):
    ans = 1
    for i in range(a):
        ans *= n - i
        ans %= mod
    for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
    return ans def nCm(a):
    ans = 1
    for i in range(a):
        ans *= n - i
        ans %= mod
    for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
    return ans nCm comb_b = nCm(b) nCm(b) comb_b base = f(n) f(n) base n, a, b = map(int, input().split()) map(int, input().split()) n def extgcd(a, b):
    r = [1, 0, a]
    w = [0, 1, b]
    while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
    return [w[0], w[1]]

# aの逆元(mod m)を求める。(aとmは互いに素であることが前提) def extgcd(a, b):
    r = [1, 0, a]
    w = [0, 1, b]
    while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
    return [w[0], w[1]]

# aの逆元(mod m)を求める。(aとmは互いに素であることが前提) extgcd comb_a = nCm(a) nCm(a) comb_a a, b = map(int, input().split()) map(int, input().split()) a def mod_inv(a, m):
    x = extgcd(a, m)[0]
    return (m + x % m) % m def mod_inv(a, m):
    x = extgcd(a, m)[0]
    return (m + x % m) % m mod_inv def comb(n,k,p):
    """power_funcを用いて(nCk) mod p を求める"""
    from math import factorial
    if n<0 or k<0 or n<k: return 0
    if n==0 or k==0: return 1
    a=factorial(n) %p
    b=factorial(k) %p
    c=factorial(n-k) %p
    return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p def comb(n,k,p):
    """power_funcを用いて(nCk) mod p を求める"""
    from math import factorial
    if n<0 or k<0 or n<k: return 0
    if n==0 or k==0: return 1
    a=factorial(n) %p
    b=factorial(k) %p
    c=factorial(n-k) %p
    return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p comb mod = 10**9 + 7 10**9 + 7 mod def f(x):
    if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod def f(x):
    if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod f def power_func(a,b,p):
    """a^b mod p を求める"""
    if b==0: return 1
    if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
    if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解 def power_func(a,b,p):
    """a^b mod p を求める"""
    if b==0: return 1
    if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
    if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解 power_func
import sys
n, a, b = map(int, input().split())
mod = 10**9 + 7
sys.setrecursionlimit(10**9)

def f(x):
    if x == 0:
        return 1
    elif x % 2 == 0:
        return (f(x // 2) ** 2) % mod
    else:
        return (f(x - 1) * 2) % mod
def comb(n,k,p):
    """power_funcを用いて(nCk) mod p を求める"""
    from math import factorial
    if n<0 or k<0 or n<k: return 0
    if n==0 or k==0: return 1
    a=factorial(n) %p
    b=factorial(k) %p
    c=factorial(n-k) %p
    return (a*power_func(b,p-2,p)*power_func(c,p-2,p))%p
def power_func(a,b,p):
    """a^b mod p を求める"""
    if b==0: return 1
    if b%2==0:
        d=power_func(a,b//2,p)
        return d*d %p
    if b%2==1:
        return (a*power_func(a,b-1,p ))%p
    # 互いに素なa,bについて、a*x+b*y=1の一つの解
def extgcd(a, b):
    r = [1, 0, a]
    w = [0, 1, b]
    while w[2] != 1:
        q = r[2] // w[2]
        r2 = w
        w2 = [r[0] - q * w[0], r[1] - q * w[1], r[2] - q * w[2]]
        r = r2
        w = w2
    # [x,y]
    return [w[0], w[1]]

# aの逆元(mod m)を求める。(aとmは互いに素であることが前提)
def mod_inv(a, m):
    x = extgcd(a, m)[0]
    return (m + x % m) % m

def nCm(a):
    ans = 1
    for i in range(a):
        ans *= n - i
        ans %= mod
    for i in range(1, a+1):
        ans *= mod_inv(i, mod)
        ans %= mod
    return ans

base = f(n)
comb_a = nCm(a)
comb_b = nCm(b)
print((base - comb_a - comb_b - 1) % mod)
