package Ġk mat . range Ċ Ċ import Ġk mat . array . T Ċ Ċ operator Ġfun ĠInt Range . range To ( end : ĠInt ): ĠInt Progress ion Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( last Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġfirst .. end Ġstep Ġlast ĊĠĠĠ Ġelse ĊĠĠĠĠĠĠĠ ĠInt Progress ion . from Closed Range ( first , Ġend , Ġlast ) Ċ } Ċ Ċ val ĠInt Range . arr : ĠInt Array ĊĠĠĠ Ġget () Ġ= Ġto Array () Ċ Ċ fun ĠInt Range . toArray (): ĠInt Array Ġ{ ĊĠĠĠ Ġif Ġ( last Ġ< Ġfirst ) Ġreturn ĠInt Array ( 0 ) ĊĠĠĠ Ġval Ġresult Ġ= ĠInt Array ( last Ġ- Ġfirst Ġ+ Ġ 1 ) ĊĠĠĠ ĠforEach Indexed Ġ{ Ġindex , Ġi Ġ-> Ġresult [ index ] Ġ= Ġi Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ val ĠInt Range . T : ĠArray < IntArray > ĊĠĠĠ Ġget () Ġ= Ġarr . T Ċ Ċ val ĠInt Progress ion . arr : ĠInt Array ĊĠĠĠ Ġget () Ġ= Ġto Array () Ċ Ċ fun ĠInt Progress ion . toArray (): ĠInt Array Ġ{ ĊĠĠĠ Ġif Ġ( last Ġ< Ġfirst Ġ&& Ġstep Ġ> Ġ 0 ) Ġreturn ĠInt Array ( 0 ) ĊĠĠĠ Ġval Ġresult Ġ= ĠInt Array ((( last Ġ- Ġfirst ) Ġ/ Ġstep ) Ġ+ Ġ 1 ) ĊĠĠĠ ĠforEach Indexed Ġ{ Ġindex , Ġi Ġ-> Ġresult [ index ] Ġ= Ġi Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ val ĠInt Progress ion . T : ĠArray < IntArray > ĊĠĠĠ Ġget () Ġ= Ġarr . T Ċ