package main
import (
"fmt"
)
const MOD = 1000000009
func power(base, exp int64) int64 {
res := int64(1)
base %= MOD
for exp > 0 {
if exp%2 == 1 {
res = (res * base) % MOD
}
base = (base * base) % MOD
exp /= 2
}
return res
}
func modInverse(n int64) int64 {
return power(n, MOD-2)
}
func main() {
var n, w, b int
if _, err := fmt.Scan(&n, &w, &b); err != nil {
return
}
maxVal := 5000
fact := make([]int64, maxVal)
inv := make([]int64, maxVal)
fact[0] = 1
inv[0] = 1
for i := 1; i < maxVal; i++ {
fact[i] = (fact[i-1] * int64(i)) % MOD
}
inv[maxVal-1] = modInverse(fact[maxVal-1])
for i := maxVal - 2; i >= 1; i-- {
inv[i] = (inv[i+1] * int64(i+1)) % MOD
}
C := func(N, R int) int64 {
if R < 0 || R > N || N < 0 {
return 0
}
return fact[N] * inv[R] % MOD * inv[N-R] % MOD
}
total := int64(0)
for k := 2; k <= n-1; k++ {
term1 := C(w-1, k-1)
term2 := C(b-1, n-k-1)
term := (term1 * term2) % MOD
term = (term * int64(k-1)) % MOD
total = (total + term) % MOD
}
total = (total * fact[w]) % MOD
total = (total * fact[b]) % MOD
fmt.Println(total)
}