package Ġeu . jan v db . a oc util . kotlin Ċ Ċ object ĠCombin ations Ġ{ ĊĊ ĉ fun Ġiterate ( min Max es : ĠList < MinMax >): ĠSequence < List < Int >> Ġ{ Ċĉ ĉ fun Ġiterate Indices ( currentIndex : ĠInt ): ĠSequence < Array < Int >> Ġ{ Ċĉĉ ĉ val Ġmin Ġ= Ġmin Max es [ currentIndex ]. min Inclusive Ċĉĉ ĉ val Ġmax Ġ= Ġmin Max es [ currentIndex ]. max Inclusive Ċĉĉ ĉ val Ġint Sequence Ġ= ĠInt Range ( min , Ġmax ). as Sequence () ĊĊĉĉ ĉ if Ġ( currentIndex Ġ== Ġmin Max es . size Ġ- Ġ 1 ) Ġ{ Ċĉĉĉ ĉ return Ġint Sequence . map Ġ{ Ġvalue Ġ-> ĠArray ( min Max es . size ) Ġ{ value } Ġ} Ċĉĉ ĉ } ĊĊĉĉ ĉ return Ġint Sequence . flatMap Ġ{ Ġvalue Ġ-> Ċĉĉĉ ĉ iterate Indices ( currentIndex Ġ+ Ġ 1 ). map Ġ{ Ġvalues Ġ-> Ġvalues [ currentIndex ] Ġ= Ġvalue ; Ġvalues Ġ} Ċĉĉ ĉ } Ċĉ ĉ } ĊĊĉ ĉ return Ġiterate Indices ( 0 ). map Ġ{ Ġit . asList ()} Ċ ĉ } Ċ } Ċ Ċ data Ġclass ĠMin Max ( val Ġmin Inclusive : ĠInt , Ġval Ġmax Inclusive : ĠInt ) Ċ