# N = int(input())
def cmb(n, r, mod):
    x = 1
    for i in range(r):
        x = x * (n-i) % mod
    return (x * g2[r]) % mod


mod = 10**9+7 #出力の制限
N = 2*10**5
g1 = [1, 1] # 元テーブル
g2 = [1, 1] #逆元テーブル
inverse = [0, 1] #逆元テーブル計算用テーブル


for i in range(2, N + 1):
    g1.append((g1[-1] * i) % mod)
    inverse.append((-inverse[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inverse[-1]) % mod)

def pow_(x, n):
    if n == 0:
        return 1

    k = 1
    while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

    return (k * x) % MOD

n, a, b = [int(i) for i in input().split()]
MOD = 10 ** 9 + 7
n_num = pow_(2, n) - 1
a_num = cmb(n, a, MOD)
b_num = cmb(n, b, MOD)
print((n_num - a_num - b_num) % MOD) def cmb(n, r, mod):
    x = 1
    for i in range(r):
        x = x * (n-i) % mod
    return (x * g2[r]) % mod cmb x = 1 x 1 for i in range(r):
        x = x * (n-i) % mod
     i range(r) range r x = x * (n-i) % mod x x * (n-i) % mod x * (n-i) x n-i n i mod return (x * g2[r]) % mod (x * g2[r]) % mod x * g2[r] x g2[r] g2 r mod n n r r mod mod mod = 10**9+7 mod 10**9+7 10**9 10 9 7 N = 2*10**5 N 2*10**5 2 10**5 10 5 g1 = [1, 1] g1 [1, 1] 1 1 g2 = [1, 1] g2 [1, 1] 1 1 inverse = [0, 1] inverse [0, 1] 0 1 for i in range(2, N + 1):
    g1.append((g1[-1] * i) % mod)
    inverse.append((-inverse[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inverse[-1]) % mod) i range(2, N + 1) range 2 N + 1 N 1 g1.append((g1[-1] * i) % mod) g1.append g1 append (g1[-1] * i) % mod g1[-1] * i g1[-1] g1 -1 i mod inverse.append((-inverse[mod % i] * (mod//i)) % mod) inverse.append inverse append (-inverse[mod % i] * (mod//i)) % mod -inverse[mod % i] * (mod//i) -inverse[mod % i] inverse[mod % i] inverse mod % i mod i mod//i mod i mod g2.append((g2[-1] * inverse[-1]) % mod) g2.append g2 append (g2[-1] * inverse[-1]) % mod g2[-1] * inverse[-1] g2[-1] g2 -1 inverse[-1] inverse -1 mod def pow_(x, n):
    if n == 0:
        return 1

    k = 1
    while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

    return (k * x) % MOD pow_ if n == 0:
        return 1

     n == 0 n 0 return 1 1 k = 1 k 1 while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

     n > 1 n 1 if n % 2 != 0:
            k = (k * x) % MOD
         n % 2 != 0 n % 2 n 2 0 k = (k * x) % MOD k (k * x) % MOD k * x k x MOD x = (x * x) % MOD x (x * x) % MOD x * x x x MOD n //= 2 n 2 return (k * x) % MOD (k * x) % MOD k * x k x MOD x x n n int(i) for i in input().split() for i in input().split() i input().split() ().split () input split for i in input().split() int(i) int i n, a, b = [int(i) for i in input().split()] n [int(i) for i in input().split()] a b MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 n_num = pow_(2, n) - 1 n_num pow_(2, n) - 1 pow_(2, n) pow_ 2 n 1 a_num = cmb(n, a, MOD) a_num cmb(n, a, MOD) cmb n a MOD b_num = cmb(n, b, MOD) b_num cmb(n, b, MOD) cmb n b MOD print((n_num - a_num - b_num) % MOD) print (n_num - a_num - b_num) % MOD n_num - a_num - b_num n_num - a_num n_num a_num b_num MOD def pow_(x, n):
    if n == 0:
        return 1

    k = 1
    while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

    return (k * x) % MOD def pow_(x, n):
    if n == 0:
        return 1

    k = 1
    while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

    return (k * x) % MOD pow_ b = [int(i) for i in input().split()] [int(i) for i in input().split()] b a, b = [int(i) for i in input().split()] [int(i) for i in input().split()] a n_num = pow_(2, n) - 1 pow_(2, n) - 1 n_num g2 = [1, 1] [1, 1] g2 mod = 10**9+7 10**9+7 mod inverse = [0, 1] [0, 1] inverse n, a, b = [int(i) for i in input().split()] [int(i) for i in input().split()] n a_num = cmb(n, a, MOD) cmb(n, a, MOD) a_num b_num = cmb(n, b, MOD) cmb(n, b, MOD) b_num MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD def cmb(n, r, mod):
    x = 1
    for i in range(r):
        x = x * (n-i) % mod
    return (x * g2[r]) % mod def cmb(n, r, mod):
    x = 1
    for i in range(r):
        x = x * (n-i) % mod
    return (x * g2[r]) % mod cmb g1 = [1, 1] [1, 1] g1 N = 2*10**5 2*10**5 N
# N = int(input())
def cmb(n, r, mod):
    x = 1
    for i in range(r):
        x = x * (n-i) % mod
    return (x * g2[r]) % mod


mod = 10**9+7 #出力の制限
N = 2*10**5
g1 = [1, 1] # 元テーブル
g2 = [1, 1] #逆元テーブル
inverse = [0, 1] #逆元テーブル計算用テーブル


for i in range(2, N + 1):
    g1.append((g1[-1] * i) % mod)
    inverse.append((-inverse[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inverse[-1]) % mod)

def pow_(x, n):
    if n == 0:
        return 1

    k = 1
    while n > 1:
        if n % 2 != 0:
            k = (k * x) % MOD
        x = (x * x) % MOD
        n //= 2

    return (k * x) % MOD

n, a, b = [int(i) for i in input().split()]
MOD = 10 ** 9 + 7
n_num = pow_(2, n) - 1
a_num = cmb(n, a, MOD)
b_num = cmb(n, b, MOD)
print((n_num - a_num - b_num) % MOD)
