#include<iostream>
using namespace std;
const long long m1=1e9+7;
long long  pow(long long a,long long n,long long m)
{
    long long ans=1;
    while(n){
        if(n&1){
            ans=(ans*a)%m;
        }
        a=(a*a)%m;
        n >>= 1;
    }
    return ans;
}
long long c(long long n,long long a)
{
	long long ans=1,ans1=1;
	for(long long i=n-a+1;i<=n;i++)
	ans=(ans*i)%m1;
	for(long long i=2;i<=a;i++)
	ans1=(ans1*i)%m1;
	ans1=pow(ans1,m1-2,m1);
	return ((ans%m1)*ans1)%m1;
}

int main()
{
	long long n,a,b,ans2;
	cin>>n>>a>>b;
	ans2=pow(2,n,m1);
	ans2=(ans2-1+4*m1-c(n,a)-c(n,b))%m1;
	cout<<ans2<<endl;
	return 0;
}