import Ġjava . util . Stack Ċ Ċ object ĠP 1 4 4 9 Ġ{ Ċ ĉ const Ġval ĠSE PAR ATOR Ġ= Ġ'.' ĊĊ ĉ @ Jvm Static Ċ ĉ fun Ġmain ( args : ĠArray < String >) Ġ{ Ċĉ ĉ readLine ()?. drop Last ( 1 )?. let Ġ{ Ġformula Ġ-> Ċĉĉ ĉ Stack < Int >(). let Ġ{ Ġs Ġ-> Ċĉĉĉ ĉ var Ġit Ġ= Ġ 0 Ċĉĉĉ ĉ fun Ġcurrent (): ĠChar Ġ= Ġformula [ it ] Ċĉĉĉ ĉ fun Ġnext () Ġ{ Ċĉĉĉĉ ĉ ++ Ġit Ċĉĉĉ ĉ } ĊĊĉĉĉ ĉ fun Ġread Full Number (): ĠInt Ġ= Ġbuild String Ġ{ Ċĉĉĉĉ ĉ while Ġ( current () Ġ!= ĠSE PAR ATOR ) Ġ{ Ċĉĉĉĉĉ ĉ append ( current ()) Ċĉĉĉĉĉ ĉ next () Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ }. toInt () ĊĊĉĉĉ ĉ while Ġ( it Ġ!= Ġformula . length ) Ġ{ Ċĉĉĉĉ ĉ when Ġ{ Ċĉĉĉĉĉ ĉ current (). is Digit () Ġ-> Ġs . push ( read Full Number ()) Ċĉĉĉĉĉ ĉ else Ġ-> Ġ{ Ċĉĉĉĉĉĉ ĉ val Ġf : ĠInt .( Int ) Ġ-> ĠInt Ġ= Ġwhen Ġ( current ()) Ġ{ Ċĉĉĉĉĉĉĉ ĉ ' +' Ġ-> ĠInt :: plus Ċĉĉĉĉĉĉĉ ĉ ' -' Ġ-> ĠInt :: minus Ċĉĉĉĉĉĉĉ ĉ ' *' Ġ-> ĠInt :: times Ċĉĉĉĉĉĉĉ ĉ ' /' Ġ-> ĠInt :: div ĊĊĉĉĉĉĉĉĉ ĉ else Ġ-> ĠTODO () Ċĉĉĉĉĉĉ ĉ } ĊĊĉĉĉĉĉĉ ĉ s . pop (). let Ġ{ Ġa Ġ-> Ċĉĉĉĉĉĉĉ ĉ s . pop (). f ( a ). run ( s :: push ) Ċĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ } ĊĊĉĉĉĉ ĉ next () Ċĉĉĉ ĉ } ĊĊĉĉĉ ĉ println ( s . peek ()) Ċĉĉ ĉ } Ċĉ ĉ } Ċ ĉ } Ċ }