from math import factorial

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

up=[1]
down=[1]
comb=[1]
for i in range(1,b+1):
    up.append(up[i-1]*(n-i+1)%mod)
    down.append(down[i-1]*i%mod)
    comb.append(up[i]*pow(down[i],mod-2,mod)%mod)

print((pow(2,n,mod)-1-comb[a]-comb[b])%mod) from math import factorial n,a,b=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split a b mod=10**9+7 mod 10**9+7 10**9 10 9 7 up=[1] up [1] 1 down=[1] down [1] 1 comb=[1] comb [1] 1 for i in range(1,b+1):
    up.append(up[i-1]*(n-i+1)%mod)
    down.append(down[i-1]*i%mod)
    comb.append(up[i]*pow(down[i],mod-2,mod)%mod) i range(1,b+1) range 1 b+1 b 1 up.append(up[i-1]*(n-i+1)%mod) up.append up append up[i-1]*(n-i+1)%mod up[i-1]*(n-i+1) up[i-1] up i-1 i 1 n-i+1 n-i n i 1 mod down.append(down[i-1]*i%mod) down.append down append down[i-1]*i%mod down[i-1]*i down[i-1] down i-1 i 1 i mod comb.append(up[i]*pow(down[i],mod-2,mod)%mod) comb.append comb append up[i]*pow(down[i],mod-2,mod)%mod up[i]*pow(down[i],mod-2,mod) up[i] up i pow(down[i],mod-2,mod) pow down[i] down i mod-2 mod 2 mod mod print((pow(2,n,mod)-1-comb[a]-comb[b])%mod) print (pow(2,n,mod)-1-comb[a]-comb[b])%mod pow(2,n,mod)-1-comb[a]-comb[b] pow(2,n,mod)-1-comb[a] pow(2,n,mod)-1 pow(2,n,mod) pow 2 n mod 1 comb[a] comb a comb[b] comb b mod down=[1] [1] down a,b=map(int,input().split()) map(int,input().split()) a comb=[1] [1] comb mod=10**9+7 10**9+7 mod up=[1] [1] up n,a,b=map(int,input().split()) map(int,input().split()) n b=map(int,input().split()) map(int,input().split()) b
from math import factorial

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

up=[1]
down=[1]
comb=[1]
for i in range(1,b+1):
    up.append(up[i-1]*(n-i+1)%mod)
    down.append(down[i-1]*i%mod)
    comb.append(up[i]*pow(down[i],mod-2,mod)%mod)

print((pow(2,n,mod)-1-comb[a]-comb[b])%mod)
