import Ġkotlin . reflect . K Property 0 Ċ Ċ class ĠSample Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠmaxValue Ġ= Ġ 1 ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠCheck er Ġ{ ĊĠĠĠ Ġfun Ġcheck (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample :: max Value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġx Ġ-> Ġx Ġ== Ġ 1 Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġabstract Ġfun Ġ< T 1 > Ġrun ( method : ĠK Property 0 < T 1 >, Ġfn : Ġ( T 1 ) Ġ-> ĠBoolean ): ĠString Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġ( Ġobject Ġ: ĠCheck er () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T 1 > Ġrun ( method : ĠK Property 0 < T 1 >, Ġfn : Ġ( T 1 ) Ġ-> ĠBoolean ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" OK " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġ). check () ĊĊĠĠĠ Ġreturn Ġresult Ċ } Ċ