#include <bits/stdc++.h>
const int maxn = 8005, mod = 1000000009;
int n, w, b, ans;
int fac[maxn], nfac[maxn], inv[maxn];
inline int c(int n, int m) {
  return n < m ? 0 : 1ll * fac[n] * nfac[m] % mod * nfac[n - m] % mod;
}
int main() {
  scanf("%d%d%d", &n, &w, &b);
  fac[0] = nfac[0] = 1;
  for (int i = 1; i <= w + b; i++) {
    fac[i] = 1ll * fac[i - 1] * i % mod;
    inv[i] = i == 1 ? 1 : mod - 1ll * (mod / i) * inv[mod % i] % mod;
    nfac[i] = 1ll * nfac[i - 1] * inv[i] % mod;
  }
  for (int i = 1; i <= n; i++)
    ans = (ans + 1ll * fac[w] * c(w - 1, i - 1) % mod * fac[b] % mod *
                     c(b - 1, n - i - 1) % mod * (i - 1) % mod) %
          mod;
  printf("%d\n", ans);
  return 0;
}
