#include<iostream>
using namespace std;
long long const p=1e9+7;
long long a,b,n,res;
long long quickpow(long long a,long long b)
{
	long long r=1;
	while(b)
	{
		if(b&1)
		r=r*a%p;
		a=a*a%p;
		b>>=1;
	}return r%p;
}
long long jiec(long long a,long long b)
{
	long long s=1;
	for(int i=a;i<=b;++i)
	{
	s=s*i%p;	
	}
	return s%p;
}
int main()
{
	cin>>n>>a>>b;
	res=quickpow(2,n)+p-1;res%=p;
	long long xa=jiec(1,a);xa=quickpow(xa,p-2);
	long long xb=jiec(1,b);xb=quickpow(xb,p-2);
	long long na=jiec(n-a+1,n);
	long long nb=jiec(n-b+1,n);
	res+=p+p-na*xa%p-nb*xb%p;
	res=res%p;
	cout<<res;
}