package Ġcom . leetcode Ċ Ċ class ĠP 1 3 Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmap Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' I ' Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' V ' Ġto Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' X ' Ġto Ġ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' L ' Ġto Ġ 5 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' C ' Ġto Ġ 1 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' D ' Ġto Ġ 5 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' M ' Ġto Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrom an ToInt ( s : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsum Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġprev Ġ= Ġ' Ġ' ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġs . length Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġs [ i ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġmap . get OrDefault ( c , Ġ 0 ). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ* Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc Ġ== Ġ' I ' Ġ&& Ġ( prev Ġ== Ġ' V ' Ġ|| Ġprev Ġ== Ġ' X ') Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc Ġ== Ġ' X ' Ġ&& Ġ( prev Ġ== Ġ' L ' Ġ|| Ġprev Ġ== Ġ' C ') Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc Ġ== Ġ' C ' Ġ&& Ġ( prev Ġ== Ġ' D ' Ġ|| Ġprev Ġ== Ġ' M ') Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsum Ġ+= Ġn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" c Ġ= Ġ$ c , Ġprev Ġ= Ġ${ prev }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġn Ġ= Ġ${ n . toString (). pad Start ( 5 , Ġ' Ġ') }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġsum Ġ= Ġ${ sum . toString (). pad Start ( 5 , Ġ' Ġ' )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprev Ġ= Ġc ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsum ĊĠĠĠ Ġ} Ċ }