3 3 1
 300 2 300
 4000 4000 1
 4000 4000 100
 4 2 3
 3 300 300
 4000 100 4000
 3 300 1
 300 300 1
 4000 1000 3000
 3 2 4000
 4 3 2
 3 2 300
 4000 3998 2
 100 200 300
 300 300 300
 3 3 3
 10 10 10
 10 4 9
 239 300 231
 4000 2 3998
 200 100 300
 4000 2000 2000
 4000 4000 4000
 10 7 5
 4000 100 3900
 3 4000 4000

12
 775907030
 63263244
 994443885
 24
 496527918
 908339579
 828107078
 775907030
 876839920
 938379934
 48
 196174631
 296557186
 316471646
 375912430
 72
 318389383
 135283173
 774612666
 686088712
 949581532
 310481606
 997463324
 130636800
 221262673
 680114446

import java.util.Scanner;
import java.io.OutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		Scanner in = new Scanner(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskC solver = new TaskC();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskC {
    long module = 1000000009;

    public void solve(int testNumber, Scanner in, PrintWriter out) {
        long n = in.nextInt();
        long w = in.nextInt();
        long b = in.nextInt();
        long result = 0;
        for (long a = Math.max(2, n - b); a <= Math.min(w, n - 1); a++) {
            long tmp = (getBinomCoef(w - 1, a - 1) * getBinomCoef(b - 1, n - a - 1)) % module;
            result += (tmp * (a - 1)) % module;
        }
        result = (result * getFact(w)) % module;
        result = (result * getFact(b)) % module;


        out.print(result);
    }

    long getBinomCoef(long low, long upper) {
        return (getFact(low) * inv((getFact(low - upper) * getFact(upper)) % module)) % module;
    }

    long getFact(long a) {
        long i = 1;
        long result = 1;
        while (i <= a) {
            result = (result * i) % module;
            i++;
        }
        return result;
    }

    long inv(long a) {
        long k = module - 2;
        long result = 1;
        while (k > 0) {
            if (k % 2 == 1) {
                result = (result * a) % module;
            }
            a = (a * a) % module;
            k = k / 2;
        }

        return result;
    }
}

