Ans=a!b!*C(a-1,n-len-1)*C(b-1,len-1)(n-len-1)
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define LL long long
const LL mod=1e9+9;
LL n,w,b;
LL Ans;
LL fac[4005];
LL c[4005][4005];
LL C(int x,int y)
{
if (c[x][y]) return c[x][y];
if (y==0) return c[x][y]=1;
return c[x][y]=((x-1>=y?C(x-1,y):0)+C(x-1,y-1))%mod;
}
int main()
{ freopen("count.in","r",stdin);
freopen("count.out","w",stdout);
cin >> n >> w >> b;
LL Max=max(w,b);
fac[0]=1;
for (int i=1;i<=Max;++i) fac[i]=i*fac[i-1]%mod;
for (int i=max(n-w,1LL);i<=b&&i<=n-2;++i)
Ans=(Ans+C(b-1,i-1)*fac[b]%mod*fac[w]%mod*C(w-1,n-i-1)%mod*(n-i-1)%mod)%mod;
cout <<Ans << endl;
return 0;
}