func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MaxN = 4010;   const int MOD = 1000000009;   int n, w, b;   long long p[MaxN], r[MaxN];   long long power(long long x, long long y) {     if (!y) return 1;     long long t = power(x, y / 2);     t = t * t % MOD;     if (y & 1) t = t * x % MOD;     return t;   }   long long C(long long n, long long m) {     return p[n] * r[m] % MOD * r[n - m] % MOD;   }   int main() {     cin >> n >> w >> b;     for (int i = p[0] = r[0] = 1; i < MaxN; ++i) {       p[i] = p[i - 1] * i % MOD;       r[i] = power(p[i], MOD - 2);     }     long long ans = 0;     for (int i = max(1, n - w); i <= min(n - 2, b); ++i)       ans += p[w] * p[b] % MOD * (n - i - 1) % MOD * C(b - 1, i - 1) % MOD *              C(w - 1, n - i - 1) % MOD;     cout << ans % MOD << endl;     return 0;   }   