Sequence(Power(list.Count(), r), (2 * Power(list.Count(), r)) - 1).FormulaMap(CurrentValue.WithName(Number,
If(CurrentValue = 0,0,
Sequence(Log(Number, list.Count()).RoundDown(), 0, -1)
.FormulaMap(CurrentValue.WithName(Step,
RoundDown(Number / Power(list.Count(), Step)).Remainder(list.Count()) + 1
)
).Slice(2)
)
)).FormulaMap(CurrentValue.Unique()).Filter(CurrentValue.Count() = r).Filter(CurrentValue.Sort(true)=CurrentValue)