package Ġpt . david af sil va . a oc . d 2 Ċ Ċ import Ġpt . david af sil va . a oc . load Input Ċ Ċ private Ġtype alias ĠInstructions Ġ= ĠMutable List < Int > Ċ Ċ object ĠInt code Program Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠHAL T _ CODE Ġ= Ġ 9 9 ĊĠĠĠ Ġprivate Ġconst Ġval ĠSUM _ CODE Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġconst Ġval ĠTIM ES _ CODE Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġconst Ġval ĠTARGET _ VALUE Ġ= Ġ 1 9 _ 6 9 0 _ 7 2 0 ĊĊĠĠĠ Ġfun Ġrun (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstructions Ġ= Ġjava Class . load Input Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split To Sequence (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Mutable List () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( no un Ġin Ġ 0 .. 9 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( verb Ġin Ġ 0 .. 9 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġinstructions . to Mutable List (). execute ( no un , Ġverb )[ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( output Ġ== ĠTARGET _ VALUE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 0 0 Ġ* Ġno un Ġ+ Ġverb ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInstructions . execute ( no un : ĠInt , Ġverb : ĠInt ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġset ( 1 , Ġno un ) ĊĠĠĠĠĠĠĠ Ġset ( 2 , Ġverb ) ĊĊĠĠĠĠĠĠĠ ĠInt Range ( 0 , Ġsize Ġ- Ġ 3 ). step ( 4 ). forEach Ġ{ Ġidx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( get ( idx )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHAL T _ CODE Ġ-> Ġreturn Ġthis @ execute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSUM _ CODE Ġ-> Ġexecute Operation ( idx , ĠInt :: plus ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTIM ES _ CODE Ġ-> Ġexecute Operation ( idx , ĠInt :: times ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInstructions . execute Operation ( instruction Index : ĠInt , Ġop : Ġ( Int , ĠInt ) Ġ-> ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarg 1 Idx Ġ= Ġget ( instruction Index Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġarg 2 Idx Ġ= Ġget ( instruction Index Ġ+ Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Idx Ġ= Ġget ( instruction Index Ġ+ Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġset ( result Idx , Ġop ( get ( arg 1 Idx ), Ġget ( arg 2 Idx ))) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġprintln ( Int code Program . run ()) Ċ } Ċ