def cmb(n, r, p):
    r = min(r, n - r)

    # n*(n-1)*...*(n-r+1)
    # 組み合わせの分子
    upper = 1
    for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
    lower = 1
    for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
    return (upper * pow(lower, p - 2, p)) % p


mod = pow(10, 9) + 7
n, a, b = map(int, input().split())
# 全ての選び方-何も選ばない時-a本の時-b本の時
ans = (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod
print(ans) def cmb(n, r, p):
    r = min(r, n - r)

    # n*(n-1)*...*(n-r+1)
    # 組み合わせの分子
    upper = 1
    for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
    lower = 1
    for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
    return (upper * pow(lower, p - 2, p)) % p cmb r = min(r, n - r) r min(r, n - r) min r n - r n r upper = 1 upper 1 for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
     i range(n, n - r, -1) range n n - r n r -1 upper = (upper * i) % p upper (upper * i) % p upper * i upper i p lower = 1 lower 1 for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
     i range(1, r + 1) range 1 r + 1 r 1 lower = (lower * i) % p lower (lower * i) % p lower * i lower i p return (upper * pow(lower, p - 2, p)) % p (upper * pow(lower, p - 2, p)) % p upper * pow(lower, p - 2, p) upper pow(lower, p - 2, p) pow lower p - 2 p 2 p p n n r r p p mod = pow(10, 9) + 7 mod pow(10, 9) + 7 pow(10, 9) pow 10 9 7 n, a, b = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split a b ans = (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod ans (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod) pow(2, n, mod) - 1 - cmb(n, a, mod) pow(2, n, mod) - 1 pow(2, n, mod) pow 2 n mod 1 cmb(n, a, mod) cmb n a mod cmb(n, b, mod) cmb n b mod mod print(ans) print ans ans = (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod ans b = map(int, input().split()) map(int, input().split()) b n, a, b = map(int, input().split()) map(int, input().split()) n def cmb(n, r, p):
    r = min(r, n - r)

    # n*(n-1)*...*(n-r+1)
    # 組み合わせの分子
    upper = 1
    for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
    lower = 1
    for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
    return (upper * pow(lower, p - 2, p)) % p def cmb(n, r, p):
    r = min(r, n - r)

    # n*(n-1)*...*(n-r+1)
    # 組み合わせの分子
    upper = 1
    for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
    lower = 1
    for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
    return (upper * pow(lower, p - 2, p)) % p cmb a, b = map(int, input().split()) map(int, input().split()) a mod = pow(10, 9) + 7 pow(10, 9) + 7 mod
def cmb(n, r, p):
    r = min(r, n - r)

    # n*(n-1)*...*(n-r+1)
    # 組み合わせの分子
    upper = 1
    for i in range(n, n - r, -1):
        upper = (upper * i) % p

    # 1*2*...*r
    # 組み合わせの分母
    lower = 1
    for i in range(1, r + 1):
        lower = (lower * i) % p
    # 剰余の計算において、+-*は良いが、/は普通にやると成り立たない
    # 割るのではなく、「逆元」を掛けるとする
    # フェルマーの小定理より、pが素数なら1/lowerの逆元はlower**(p-2)
    # powの第3引数を使うことで繰り返し二乗法になる
    return (upper * pow(lower, p - 2, p)) % p


mod = pow(10, 9) + 7
n, a, b = map(int, input().split())
# 全ての選び方-何も選ばない時-a本の時-b本の時
ans = (pow(2, n, mod) - 1 - cmb(n, a, mod) - cmb(n, b, mod)) % mod
print(ans)
