val Ġdp Ġ= Ġmutable Map Of < String , ĠInt >() Ċ Ċ fun Ġsolve ( line : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( line . length Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( line . length Ġ== Ġ 1 Ġ&& Ġline [ 0 ] Ġ!= Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( line Ġ! in Ġdp ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( line [ 0 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Unexpected Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( line [ 0 ] Ġ== Ġ' 1 ' Ġ|| Ġ( line [ 0 ] Ġ== Ġ' 2 ' Ġ&& Ġline [ 1 ] Ġin Ġ' 0 ' .. ' 6 ')) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsum Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsum Ġ+= Ġsolve ( line . substring ( 1 )) Ġ% Ġ 1 0 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsum Ġ+= Ġsolve ( line . substring ( 2 )) Ġ% Ġ 1 0 0 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sum Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" Unexpected Ġ 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdp [ line ] Ġ= Ġsum Ġ% Ġ 1 0 0 0 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdp [ line ] Ġ= Ġsolve ( line . substring ( 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdp [ line ] !! Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < out ĠString >) Ġ{ ĊĠĠĠ Ġval Ġline Ġ= Ġread Line () !! ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( solve ( line )) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( 0 ) ĊĠĠĠ Ġ} Ċ }