package Ġmath Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ Ċ ĉ println ( 1 7 . fact ()) Ċ ĉ println ( 3 4 . fact ()) Ċ ĉ println ( 1 2 0 . fact ()) Ċ } Ċ Ċ fun ĠInt . fact (): ĠList < Int > Ġ{ Ċ ĉ val Ġlist Ġ= ĠArrayList < Int >() Ċ ĉ var Ġcurr Ġ= Ġthis Ċ ĉ var Ġdiv Ġ= Ġ 2 Ċ ĉ while Ġ( curr Ġ> Ġ 1 ) Ġ{ Ċĉ ĉ while Ġ( curr Ġ% Ġdiv Ġ== Ġ 0 ) Ġ{ Ċĉĉ ĉ // Ġfound Ġdivisor Ċĉĉ ĉ curr Ġ/= Ġdiv Ċĉĉ ĉ list . add ( div ) Ċĉ ĉ } Ċĉ ĉ div ++ Ċ ĉ } Ċ ĉ return Ġlist Ċ }