function getNextCombination(combination, n) {
if (!combination) return null;
const nextIndex = combination.reduceRight((a, v, i, arr) => arr[i+1] - v > 1 ? i : a, combination.length-1);
if (combination[nextIndex] > n) return null;
return combination.map((v, i) => {
if (i < nextIndex) return i;
if (i === nextIndex) return v + 1;
if (i > nextIndex) return v;
});
}