package Ġextensions Ċ Ċ import Ġjava . util .* Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ Ċ class ĠBook ( val Ġtitle : ĠString , Ġval Ġauthor : ĠString , Ġvar Ġpages : ĠInt Ġ= Ġ 2 5 0 ) Ġ{ Ċ } Ċ Ċ // extension Ġfunctions Ċ fun ĠBook . weight () Ġ= Ġpages Ġ* Ġ 1 . 5 Ċ fun ĠBook . t orn Pages ( t orn Pages : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( pages Ġ>= Ġt orn Pages ) Ġpages Ġ-= Ġt orn Pages Ġelse Ġpages Ġ= Ġ 0 Ċ } Ċ Ċ class ĠP up py ( val Ġbook : ĠBook ) Ġ{ ĊĠĠĠ Ġfun Ġplay With Book () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt orn Pages Count Ġ= ĠRandom (). nextInt ( min ( book . pages Ġ+ Ġ 1 , Ġ 5 0 )) ĊĠĠĠĠĠĠĠ Ġbook . t orn Pages ( t orn Pages Count ) ĊĠĠĠĠĠĠĠ Ġprintln (" P up py Ġt orn ed Ġpages Ġ$ t orn Pages Count , Ġremaining Ġpages Ġare Ġ${ book . pages }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġbook Ġ= ĠBook (" Ham let ", Ġ" Sh akes pe are ") ĊĠĠĠ Ġval Ġp up py Ġ= ĠP up py ( book ) ĊĊĠĠĠ Ġprintln (" Book Ġweight Ġis Ġ${ book . weight () }") ĊĠĠĠ Ġwhile Ġ( book . pages Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġp up py . play With Book () ĊĠĠĠĠĠĠĠ Ġprintln (" Book Ġweight Ġis Ġ${ book . weight () }") ĊĠĠĠ Ġ} Ċ }