fun Ġbigger Is Greater ( w : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġvar Ġstr Ġ= Ġw . toCharArray (). to Mutable List () ĊĠĠĠ Ġif Ġ( w . length Ġ< Ġ 2 ) Ġreturn Ġ" no Ġanswer " ĊĠĠĠ Ġfor Ġ( i Ġin Ġstr . size Ġ- Ġ 2 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( str [ i ] Ġ< Ġstr [ i Ġ+ Ġ 1 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch Ġ= Ġstr [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcut From Ġ= Ġi Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrest Ġ= Ġstr . sub List ( cut From , Ġstr . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Big ger Ġ= Ġrest . min ByIndex ( ch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( min Big ger Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr [ i ] Ġ= Ġmin Big ger . first ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr [ min Big ger . second Ġ+ Ġcut From ] Ġ= Ġch ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġstr . sub List ( cut From , Ġstr . size ). sorted () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr Ġ= Ġstr . drop Last ( temp . size ). to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr . addAll ( cut From , Ġtemp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstr . join ToString ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġ" no Ġanswer " Ċ } Ċ Ċ fun ĠList < Char >. min ByIndex ( element : ĠChar ): ĠPair < Char , ĠInt >? Ġ{ ĊĠĠĠ Ġvar Ġmin Ġ= ĠPair (' z ', Ġ 0 ) ĊĠĠĠ Ġvar Ġflag Ġ= Ġfalse ĊĠĠĠ Ġfor Ġ( i Ġin Ġthis . indices ) Ġif Ġ( this [ i ] Ġ> Ġelement Ġ&& Ġthis [ i ] Ġ< Ġmin . first ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmin Ġ= ĠPair ( this [ i ], Ġi ) ĊĠĠĠĠĠĠĠ Ġflag Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġif Ġ( flag ) Ġmin Ġelse Ġnull Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġn Ġ= Ġread Line () !!. toInt () ĊĠĠĠ Ġfor Ġ( TI tr Ġin Ġ 1 .. n ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġw Ġ= Ġread Line () !!. trim () ĊĠĠĠĠĠĠĠ Ġprintln ( big ger Is Greater ( w )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* Ċ * ĠFor Ġeach Ġword , Ġstart Ġfrom Ġthe Ġend . Ċ * ĠFind Ġthe Ġfirst Ġcharacter Ġthat Ġis Ġbigger Ġthan Ġthe Ġprevious Ġone . ĠIf Ġyou Ġcan 't , Ġreturn Ġno Ġanswer . Ċ * ĠAfter Ġthat , Ġfind Ġthe Ġsmallest Ġbiggest Ġcharacter Ġafter Ġthe Ġcharacter Ġyou Ġfound . Ċ * ĠSwap Ġthem . ĠSort Ġthe Ġrest Ġof Ġthe Ġstring . Ċ * Ġ*/