fun Ġwave ( str : ĠString ): ĠList < String > Ġ= ĊĠ Ġstr . fold Indexed ( mutable ListOf ()) Ġ{ Ġindex , Ġresult , Ġchar Ġ-> ĊĠĠĠ Ġif Ġ( char . is Letter ()) Ġ{ ĊĠĠĠĠĠ Ġresult . add ( str . substring ( 0 Ġuntil Ġindex ) Ġ+ Ġchar . toUpperCase () Ġ+ Ġstr . substring ( index Ġ+ Ġ 1 )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġresult ĊĠ Ġ} Ċ Ċ // Ġso Ġsmart Ċ fun Ġwave ( str : ĠString ) Ġ= Ġstr . indices . map Ġ{ Ġstr . take ( it ) Ġ+ Ġstr . drop ( it ). capitalize () Ġ}. filter Ġ{ Ġit Ġ!= Ġstr Ġ} Ċ