package Ġorg . jetbrains . research . k ex . test . ref in ements Ċ Ċ object ĠC yc les Ġ{ ĊĠĠĠ Ġdata Ġclass ĠX Cls ( var Ġcls Field A : ĠInt , Ġvar Ġcls Field B : ĠInt ) ĊĊĠĠĠ Ġfun Ġcycle ( first : ĠX Cls , Ġarg : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. arg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst . cls Field A Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( first . cls Field A Ġ== Ġfirst . cls Field B ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Bad Ġargument ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠComparable < T >> Ġmax ( x : ĠT , Ġy : ĠT ) Ġ= Ġif Ġ( y Ġ> Ġx ) Ġy Ġelse Ġx ĊĊĠĠĠ Ġfun Ġarray Max ( array : ĠInt Array , Ġsize : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Max Ġ= Ġarray . first () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Max Ġ= Ġmax ( current Max , Ġarray [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Max ĊĠĠĠ Ġ} Ċ Ċ }