def power(n,p,m):
    if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m

def choose(n,t,m):
    x, y = 1, 1
    for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
    return x * power(y,m-2,m) % m


m = 10**9+7
n,a,b = map(int,input().split())


flower = (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m)
while flower < 0:
    flower += m

print(flower) def power(n,p,m):
    if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m power if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m p == 0 p 0 return 1 1 elif p%2:
        return (power(n,p-1,m)*n)%m
     p%2 p 2 return (power(n,p-1,m)*n)%m (power(n,p-1,m)*n)%m power(n,p-1,m)*n power(n,p-1,m) power n p-1 p 1 m n m return ((power(n,p//2,m))**2)%m ((power(n,p//2,m))**2)%m (power(n,p//2,m))**2 power(n,p//2,m) power n p//2 p 2 m 2 m n n p p m m def choose(n,t,m):
    x, y = 1, 1
    for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
    return x * power(y,m-2,m) % m choose x, y = 1, 1 x 1 y 1 for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
     i range(t) range t x = x * (n - i) % m x x * (n - i) % m x * (n - i) x n - i n i m y = y * (i + 1) % m y y * (i + 1) % m y * (i + 1) y i + 1 i 1 m return x * power(y,m-2,m) % m x * power(y,m-2,m) % m x * power(y,m-2,m) x power(y,m-2,m) power y m-2 m 2 m m n n t t m m m = 10**9+7 m 10**9+7 10**9 10 9 7 n,a,b = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split a b flower = (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m) flower (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m) (power(2,n,m)-1) - choose(n,a,m) power(2,n,m)-1 power(2,n,m) power 2 n m 1 choose(n,a,m) choose n a m choose(n,b,m) choose n b m while flower < 0:
    flower += m flower < 0 flower 0 flower += m flower m print(flower) print flower flower += m m flower flower = (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m) (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m) flower m = 10**9+7 10**9+7 m n,a,b = map(int,input().split()) map(int,input().split()) n b = map(int,input().split()) map(int,input().split()) b a,b = map(int,input().split()) map(int,input().split()) a def power(n,p,m):
    if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m def power(n,p,m):
    if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m power def choose(n,t,m):
    x, y = 1, 1
    for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
    return x * power(y,m-2,m) % m def choose(n,t,m):
    x, y = 1, 1
    for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
    return x * power(y,m-2,m) % m choose
def power(n,p,m):
    if p == 0:
        return 1
    elif p%2:
        return (power(n,p-1,m)*n)%m
    else:
        return ((power(n,p//2,m))**2)%m

def choose(n,t,m):
    x, y = 1, 1
    for i in range(t):
        x = x * (n - i) % m
        y = y * (i + 1) % m
    return x * power(y,m-2,m) % m


m = 10**9+7
n,a,b = map(int,input().split())


flower = (power(2,n,m)-1) - choose(n,a,m) - choose(n,b,m)
while flower < 0:
    flower += m

print(flower)