n, a, b = list(map(int, input().split()))

 

mod = 10 ** 9 + 7

 

if n == 2:

   print((0))

   exit()

                

S = pow(2, n, mod) -1 



x1 = 1

y1 = 1

for i in range(a):

  x1 = x1 * (n-i) % mod

  y1 = y1 * (i+1) % mod

A = (x1 * pow(y1, mod - 2, mod)) % mod



x2 = 1

y2 = 1

for i in range(b):

  x2 = x2 * (n-i) % mod

  y2 = y2 * (i+1) % mod

B = (x2 * pow(y2, mod - 2, mod)) % mod



print(((S - A - B) % mod))
n, a, b = list(map(int, input().split()))

 

mod = 10 ** 9 + 7

 

if n == 2:

   print((0))

   exit()

                

S = pow(2, n, mod) - 1



x1 = 1

y1 = 1

for i in range(a):

  x1 = x1 * (n-i) % mod

  y1 = y1 * (i+1) % mod

A = (x1 * pow(y1, mod - 2, mod)) % mod



for i in range(a, b):

  x1 = x1 * (n-i) % mod

  y1 = y1 * (i+1) % mod

B = (x1 * pow(y1, mod - 2, mod)) % mod



print(((S - A - B) % mod))
n, a, b = list(map(int, input().split()))
mod = 10**9 + 7
if n == 2:
    print((0))
    exit()
S = pow(2, n, mod) - 1
x1 = 1
y1 = 1
for i in range(a):
    x1 = x1 * (n - i) % mod
    y1 = y1 * (i + 1) % mod
A = (x1 * pow(y1, mod - 2, mod)) % mod
x2 = 1
y2 = 1
for i in range(b):
    x2 = x2 * (n - i) % mod
    y2 = y2 * (i + 1) % mod
B = (x2 * pow(y2, mod - 2, mod)) % mod
print(((S - A - B) % mod))

n, a, b = list(map(int, input().split()))
mod = 10**9 + 7
if n == 2:
    print((0))
    exit()
S = pow(2, n, mod) - 1
x1 = 1
y1 = 1
for i in range(a):
    x1 = x1 * (n - i) % mod
    y1 = y1 * (i + 1) % mod
A = (x1 * pow(y1, mod - 2, mod)) % mod
for i in range(a, b):
    x1 = x1 * (n - i) % mod
    y1 = y1 * (i + 1) % mod
B = (x1 * pow(y1, mod - 2, mod)) % mod
print(((S - A - B) % mod))

-x2 = 1 -y2 = 1 -for i in range(b): -    x2 = x2 * (n - i) % mod -    y2 = y2 * (i + 1) % mod -B = (x2 * pow(y2, mod - 2, mod)) % mod +for i in range(a, b): +    x1 = x1 * (n - i) % mod +    y1 = y1 * (i + 1) % mod +B = (x1 * pow(y1, mod - 2, mod)) % mod