package Ġio . kom mon s Ċ Ċ import Ġjava . math . BigInteger Ċ Ċ /** Ċ Ġ* Ġ[ Number ] ë¥¼ Ġ[ BigInteger ] ë¡ľ Ġë³Ģ íĻĺ íķ©ëĭĪëĭ¤ . Ċ Ġ*/ Ċ fun ĠNumber . to BigInt (): ĠBigInteger Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠBigInteger Ġ-> Ġthis ĊĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠ Ġ-> ĠBigInteger ( this . toString ()) Ċ } Ċ Ċ operator Ġfun ĠBigInteger . plus ( other : ĠNumber ): ĠBigInteger Ġ= Ġthis . add ( other . to BigInt ()) Ċ operator Ġfun ĠBigInteger . minus ( other : ĠNumber ): ĠBigInteger Ġ= Ġthis . subtract ( other . to BigInt ()) Ċ operator Ġfun ĠBigInteger . times ( other : ĠNumber ): ĠBigInteger Ġ= Ġthis . multiply ( other . to BigInt ()) Ċ operator Ġfun ĠBigInteger . div ( other : ĠNumber ): ĠBigInteger Ġ= Ġthis . divide ( other . to BigInt ()) Ċ Ċ operator Ġfun ĠBigInteger . compareTo ( other : ĠNumber ): ĠInt Ġ= Ġthis . compareTo ( other . to BigInt ()) Ċ Ċ /** Ċ Ġ* Ġ[ BigInteger ] Ġì» ¬ ëł ī ìħĺ ìĿĺ Ġëª¨ëĵł ĠìļĶ ìĨĮ ìĿĺ Ġíķ © ìĿĦ Ġêµ¬ íķ©ëĭĪëĭ¤ . Ċ Ġ*/ Ċ fun ĠIterable < BigInteger >. sum (): ĠBigInteger Ġ{ ĊĠĠĠ Ġvar Ġsum Ġ= ĠBigInteger . ZERO ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsum Ġ+= Ġelement ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsum Ċ } Ċ Ċ /** Ċ Ġ* Ġ[ BigInteger ] Ġì» ¬ ëł ī ìħĺ ìĿĺ Ġíı ī ê· ł ê°Ĵ ìĿĦ Ġêµ¬ íķ©ëĭĪëĭ¤ . Ċ Ġ*/ Ċ fun ĠIterable < BigInteger >. average (): ĠDouble Ġ{ ĊĠĠĠ Ġvar Ġsum Ġ= ĠBigInteger . ZERO ĊĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsum Ġ+= Ġelement ĊĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsum . toDouble () Ġ/ Ġcount Ċ } ĊĊ