function getCombinationsInRange(values, first, select) {
const last = values.length - select
let solutions = []
for (let i = first; i <= last; ++i) {
if (select === 1) {
solutions.push([values[i]])
} else {
for (let combo of getCombinationsInRange(values, i + 1, select - 1)) {
solutions.push([ values[i], ...combo ])
}
}
}
return solutions
}