
丑陋的代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int MOD=1e9+7;
int n,a,b,sum=0,w=(int)pow(2,30)%MOD;
int C(int x,int y){
int s=1;
for(int i=x;i>x-y;i--) s=(s*i)%MOD;
for(int i=1;i<=y;i++){
while(s%i!=0) s+=MOD%i;
s=(s/i)%MOD;
}
return s;
}
signed main(){
cin.tie(0),cout.tie(0);
cin>>n>>a>>b;
int s=pow(2,n%30);
for(int i=1;i<=n/30;i++)
s=(s*w)%MOD;
cout<<((s-1-C(n,a)-C(n,b))%MOD+MOD)%MOD;
return 0;
}