n,a,b=map(int,input().split())
p=10**9+7
q,res=divmod(n,10000)
n1=(2**10000)%p

total = 1
for i in range(q):
  total *= n1
  total %= p
total *= 2**res
total %= p

def modpow(a, n, mod):
    res = 1
    while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
    return res

def modinv(a, mod): return modpow(a,mod-2,mod)

A = 1
for i in range(a//3):
  A = A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p)
  A = A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p
for j in range(a%3):
  A = A*modinv(a-3*(a//3)-j,p)
  A = A*(n-3*(a//3)-j)%p

B = 1
for i in range(b//3):
  B = B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p)
  B = B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p
for j in range(b%3):
  B = B*modinv(b-3*(b//3)-j,p)
  B = B*(n-3*(b//3)-j)%p

print((total-A-B-1)%p) n,a,b=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split a b p=10**9+7 p 10**9+7 10**9 10 9 7 q,res=divmod(n,10000) q divmod(n,10000) divmod n 10000 res n1=(2**10000)%p n1 (2**10000)%p 2**10000 2 10000 p total = 1 total 1 for i in range(q):
  total *= n1
  total %= p i range(q) range q total *= n1 total n1 total %= p total p total *= 2**res total 2**res 2 res total %= p total p def modpow(a, n, mod):
    res = 1
    while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
    return res modpow res = 1 res 1 while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
     n > 0 n 0 if n&1:res=res*a%mod
         n&1 n 1 a = a * a % mod a a * a % mod a * a a a mod n>>=1 n 1 return res res a a n n mod mod def modinv(a, mod): return modpow(a,mod-2,mod) modinv a a mod mod A = 1 A 1 for i in range(a//3):
  A = A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p)
  A = A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p i range(a//3) range a//3 a 3 A = A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p) A A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p) A modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p) modinv (a-3*i)*(a-3*i-1)*(a-3*i-2) (a-3*i)*(a-3*i-1) a-3*i a 3*i 3 i a-3*i-1 a-3*i a 3*i 3 i 1 a-3*i-2 a-3*i a 3*i 3 i 2 p A = A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p A A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p A*(n-3*i)*(n-3*i-1)*(n-3*i-2) A*(n-3*i)*(n-3*i-1) A*(n-3*i) A n-3*i n 3*i 3 i n-3*i-1 n-3*i n 3*i 3 i 1 n-3*i-2 n-3*i n 3*i 3 i 2 p for j in range(a%3):
  A = A*modinv(a-3*(a//3)-j,p)
  A = A*(n-3*(a//3)-j)%p j range(a%3) range a%3 a 3 A = A*modinv(a-3*(a//3)-j,p) A A*modinv(a-3*(a//3)-j,p) A modinv(a-3*(a//3)-j,p) modinv a-3*(a//3)-j a-3*(a//3) a 3*(a//3) 3 a//3 a 3 j p A = A*(n-3*(a//3)-j)%p A A*(n-3*(a//3)-j)%p A*(n-3*(a//3)-j) A n-3*(a//3)-j n-3*(a//3) n 3*(a//3) 3 a//3 a 3 j p B = 1 B 1 for i in range(b//3):
  B = B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p)
  B = B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p i range(b//3) range b//3 b 3 B = B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p) B B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p) B modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p) modinv (b-3*i)*(b-3*i-1)*(b-3*i-2) (b-3*i)*(b-3*i-1) b-3*i b 3*i 3 i b-3*i-1 b-3*i b 3*i 3 i 1 b-3*i-2 b-3*i b 3*i 3 i 2 p B = B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p B B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p B*(n-3*i)*(n-3*i-1)*(n-3*i-2) B*(n-3*i)*(n-3*i-1) B*(n-3*i) B n-3*i n 3*i 3 i n-3*i-1 n-3*i n 3*i 3 i 1 n-3*i-2 n-3*i n 3*i 3 i 2 p for j in range(b%3):
  B = B*modinv(b-3*(b//3)-j,p)
  B = B*(n-3*(b//3)-j)%p j range(b%3) range b%3 b 3 B = B*modinv(b-3*(b//3)-j,p) B B*modinv(b-3*(b//3)-j,p) B modinv(b-3*(b//3)-j,p) modinv b-3*(b//3)-j b-3*(b//3) b 3*(b//3) 3 b//3 b 3 j p B = B*(n-3*(b//3)-j)%p B B*(n-3*(b//3)-j)%p B*(n-3*(b//3)-j) B n-3*(b//3)-j n-3*(b//3) n 3*(b//3) 3 b//3 b 3 j p print((total-A-B-1)%p) print (total-A-B-1)%p total-A-B-1 total-A-B total-A total A B 1 p b=map(int,input().split()) map(int,input().split()) b B = B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p) B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p) B total %= p p total A = A*modinv(a-3*(a//3)-j,p) A*modinv(a-3*(a//3)-j,p) A n1=(2**10000)%p (2**10000)%p n1 A = A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p A B = B*(n-3*(b//3)-j)%p B*(n-3*(b//3)-j)%p B a,b=map(int,input().split()) map(int,input().split()) a A = A*(n-3*(a//3)-j)%p A*(n-3*(a//3)-j)%p A A = 1 1 A A = A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p) A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p) A B = B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p B n,a,b=map(int,input().split()) map(int,input().split()) n res=divmod(n,10000) divmod(n,10000) res def modpow(a, n, mod):
    res = 1
    while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
    return res def modpow(a, n, mod):
    res = 1
    while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
    return res modpow q,res=divmod(n,10000) divmod(n,10000) q B = 1 1 B p=10**9+7 10**9+7 p total %= p p total total = 1 1 total total *= n1 n1 total def modinv(a, mod): return modpow(a,mod-2,mod) def modinv(a, mod): return modpow(a,mod-2,mod) modinv total *= 2**res 2**res total B = B*modinv(b-3*(b//3)-j,p) B*modinv(b-3*(b//3)-j,p) B
n,a,b=map(int,input().split())
p=10**9+7
q,res=divmod(n,10000)
n1=(2**10000)%p

total = 1
for i in range(q):
  total *= n1
  total %= p
total *= 2**res
total %= p

def modpow(a, n, mod):
    res = 1
    while n > 0:
        if n&1:res=res*a%mod
        a = a * a % mod
        n>>=1
    return res

def modinv(a, mod): return modpow(a,mod-2,mod)

A = 1
for i in range(a//3):
  A = A*modinv((a-3*i)*(a-3*i-1)*(a-3*i-2), p)
  A = A*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p
for j in range(a%3):
  A = A*modinv(a-3*(a//3)-j,p)
  A = A*(n-3*(a//3)-j)%p

B = 1
for i in range(b//3):
  B = B*modinv((b-3*i)*(b-3*i-1)*(b-3*i-2), p)
  B = B*(n-3*i)*(n-3*i-1)*(n-3*i-2) % p
for j in range(b%3):
  B = B*modinv(b-3*(b//3)-j,p)
  B = B*(n-3*(b//3)-j)%p

print((total-A-B-1)%p)