import sys
# import math
# import bisect
# import numpy as np
# from decimal import Decimal
# from numba import njit, i8, u1, b1 #JIT compiler
# from itertools import combinations, product
# from collections import Counter, deque, defaultdict

# sys.setrecursionlimit(10 ** 6)
MOD = 10 ** 9 + 7
INF = 10 ** 9
PI = 3.14159265358979323846

def read_str():      return sys.stdin.readline().strip()
def read_int():      return int(sys.stdin.readline().strip())
def read_ints():     return map(int, sys.stdin.readline().strip().split())
def read_ints2(x):   return map(lambda num: int(num) - x, sys.stdin.readline().strip().split())
def read_str_list(): return list(sys.stdin.readline().strip().split())
def read_int_list(): return list(map(int, sys.stdin.readline().strip().split()))
def GCD(a: int, b: int) -> int: return b if a%b==0 else GCD(b, a%b)
def LCM(a: int, b: int) -> int: return (a * b) // GCD(a, b)

def nCr(n, r):
    a, b = 1, 1
    for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
    return a * pow(b, MOD - 2, MOD) % MOD

def Main():
    n, a, b = read_ints()
    num = pow(2, n, MOD) - 1

    print((num - nCr(n, a) - nCr(n, b)) % MOD)   

if __name__ == '__main__':
    Main() import sys sys MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 INF = 10 ** 9 INF 10 ** 9 10 9 PI = 3.14159265358979323846 PI 3.14159265358979323846 def read_str():      return sys.stdin.readline().strip() read_str def read_int():      return int(sys.stdin.readline().strip()) read_int def read_ints():     return map(int, sys.stdin.readline().strip().split()) read_ints def read_ints2(x):   return map(lambda num: int(num) - x, sys.stdin.readline().strip().split()) read_ints2 x x def read_str_list(): return list(sys.stdin.readline().strip().split()) read_str_list def read_int_list(): return list(map(int, sys.stdin.readline().strip().split())) read_int_list def GCD(a: int, b: int) -> int: return b if a%b==0 else GCD(b, a%b) GCD a: int a b: int b def LCM(a: int, b: int) -> int: return (a * b) // GCD(a, b) LCM a: int a b: int b def nCr(n, r):
    a, b = 1, 1
    for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
    return a * pow(b, MOD - 2, MOD) % MOD nCr a, b = 1, 1 a 1 b 1 for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
     i range(r) range r a = a * (n - i) % MOD a a * (n - i) % MOD a * (n - i) a n - i n i MOD b = b * (i + 1) % MOD b b * (i + 1) % MOD b * (i + 1) b i + 1 i 1 MOD return a * pow(b, MOD - 2, MOD) % MOD a * pow(b, MOD - 2, MOD) % MOD a * pow(b, MOD - 2, MOD) a pow(b, MOD - 2, MOD) pow b MOD - 2 MOD 2 MOD MOD n n r r def Main():
    n, a, b = read_ints()
    num = pow(2, n, MOD) - 1

    print((num - nCr(n, a) - nCr(n, b)) % MOD)    Main n, a, b = read_ints() n read_ints() read_ints a b num = pow(2, n, MOD) - 1 num pow(2, n, MOD) - 1 pow(2, n, MOD) pow 2 n MOD 1 print((num - nCr(n, a) - nCr(n, b)) % MOD) print (num - nCr(n, a) - nCr(n, b)) % MOD num - nCr(n, a) - nCr(n, b) num - nCr(n, a) num nCr(n, a) nCr n a nCr(n, b) nCr n b MOD if __name__ == '__main__':
    Main() __name__ == '__main__' __name__ '__main__' Main() Main def nCr(n, r):
    a, b = 1, 1
    for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
    return a * pow(b, MOD - 2, MOD) % MOD def nCr(n, r):
    a, b = 1, 1
    for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
    return a * pow(b, MOD - 2, MOD) % MOD nCr def read_ints():     return map(int, sys.stdin.readline().strip().split()) def read_ints():     return map(int, sys.stdin.readline().strip().split()) read_ints def LCM(a: int, b: int) -> int: return (a * b) // GCD(a, b) def LCM(a: int, b: int) -> int: return (a * b) // GCD(a, b) LCM def read_ints2(x):   return map(lambda num: int(num) - x, sys.stdin.readline().strip().split()) def read_ints2(x):   return map(lambda num: int(num) - x, sys.stdin.readline().strip().split()) read_ints2 INF = 10 ** 9 10 ** 9 INF def read_str_list(): return list(sys.stdin.readline().strip().split()) def read_str_list(): return list(sys.stdin.readline().strip().split()) read_str_list def read_str():      return sys.stdin.readline().strip() def read_str():      return sys.stdin.readline().strip() read_str def Main():
    n, a, b = read_ints()
    num = pow(2, n, MOD) - 1

    print((num - nCr(n, a) - nCr(n, b)) % MOD)    def Main():
    n, a, b = read_ints()
    num = pow(2, n, MOD) - 1

    print((num - nCr(n, a) - nCr(n, b)) % MOD)    Main MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD def GCD(a: int, b: int) -> int: return b if a%b==0 else GCD(b, a%b) def GCD(a: int, b: int) -> int: return b if a%b==0 else GCD(b, a%b) GCD def read_int():      return int(sys.stdin.readline().strip()) def read_int():      return int(sys.stdin.readline().strip()) read_int def read_int_list(): return list(map(int, sys.stdin.readline().strip().split())) def read_int_list(): return list(map(int, sys.stdin.readline().strip().split())) read_int_list PI = 3.14159265358979323846 3.14159265358979323846 PI
import sys
# import math
# import bisect
# import numpy as np
# from decimal import Decimal
# from numba import njit, i8, u1, b1 #JIT compiler
# from itertools import combinations, product
# from collections import Counter, deque, defaultdict

# sys.setrecursionlimit(10 ** 6)
MOD = 10 ** 9 + 7
INF = 10 ** 9
PI = 3.14159265358979323846

def read_str():      return sys.stdin.readline().strip()
def read_int():      return int(sys.stdin.readline().strip())
def read_ints():     return map(int, sys.stdin.readline().strip().split())
def read_ints2(x):   return map(lambda num: int(num) - x, sys.stdin.readline().strip().split())
def read_str_list(): return list(sys.stdin.readline().strip().split())
def read_int_list(): return list(map(int, sys.stdin.readline().strip().split()))
def GCD(a: int, b: int) -> int: return b if a%b==0 else GCD(b, a%b)
def LCM(a: int, b: int) -> int: return (a * b) // GCD(a, b)

def nCr(n, r):
    a, b = 1, 1
    for i in range(r):
        a = a * (n - i) % MOD
        b = b * (i + 1) % MOD
    
    return a * pow(b, MOD - 2, MOD) % MOD

def Main():
    n, a, b = read_ints()
    num = pow(2, n, MOD) - 1

    print((num - nCr(n, a) - nCr(n, b)) % MOD)   

if __name__ == '__main__':
    Main()