#include <bits/stdc++.h>
using namespace std;
long long JC[4001], ans;
int n, C[4001][4001], m, p;
inline int Add(int x) { return x < 1000000009 ? x : x - 1000000009; }
int main() {
  cin >> n >> m >> p;
  for (int i = 0; i < 4001; i++) C[i][0] = 1;
  for (int i = 1; i < 4001; i++)
    for (int j = 1; j <= i; j++) C[i][j] = Add(C[i - 1][j - 1] + C[i - 1][j]);
  JC[0] = 1;
  for (int i = 1; i < 4001; i++) JC[i] = JC[i - 1] * i % 1000000009;
  for (int i = 2; i < n; i++)
    ans = (ans + C[m - 1][i - 1] * JC[m] % 1000000009 * C[p - 1][n - i - 1] %
                     1000000009 * JC[p] % 1000000009 * (i - 1) % 1000000009) %
          1000000009;
  cout << ans << endl;
}
