JSFiddle - React, Tailwind, and code Playground

JavaScript

alert(ways(9, 2, 3)); // 1260

function ways(n) {
    var l = arguments.length, w = 1;

    for (var i = 1; i < l; i++) {
        var m = arguments[i];
        w *= combinations(n, m);
        n -= m;
    }

    return w;
}

function combinations(n, k) {
    return factorial(n) / factorial(n - k) / factorial(k);
}

function factorial(n) {
    var f = n;
    while (--n) f *= n;
    return f;
}