package Ġdev . me e 4 2 . day 4 Ċ Ċ import Ġdev . me e 4 2 .* Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġinput Raw Ġ= Ġinput ( day Ġ= Ġ 4 , Ġyear Ġ= Ġ 2 0 2 1 ) ĊĊĠĠĠ Ġval Ġ( bing o Numbers , Ġboards Split ) Ġ= Ġinput Raw ĊĠĠĠĠĠĠĠ Ġ. split ("\ n ", Ġlimit Ġ= Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ. two Elements () ĊĠĠĠĠĠĠĠ Ġ. manip ulate Tuple Ġ{ Ġb ingo Numbers , Ġboards Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb ingo Numbers . ints () Ġto Ġboards . split ("\ n \ n "). map Ġ{ Ġit . trim () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġdata Ġclass ĠBoard ( val Ġsquares : ĠList < List < Int >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtransp osed Ġ= Ġsquares . transpose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġboards Ġ= Ġboards Split . map Ġ{ ĊĠĠĠĠĠĠĠ ĠBoard ( it . trim (). split ("\ n "). map Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġline . split ( Regex (""" \ s + "" ")). filter Ġ{ Ġx Ġ-> Ġx . isNotEmpty () Ġ}. map Ġ{ Ġnumber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ}. to Mutable List () ĊĊĠĠĠ Ġval Ġcalled Ġ= Ġmutable ListOf < Int >() ĊĠĠĠ Ġvar Ġsol Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġpart 1 Ġ= Ġtrue ĊĠĠĠ Ġouter @ Ġfor ( bing o Number Ġin Ġb ingo Numbers ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcalled . add ( bing o Number ) ĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġboards . list Iterator () ĊĠĠĠĠĠĠĠ Ġfor ( board Ġin Ġiterator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwin Ġ= Ġ( 0 Ġuntil Ġ 5 ). any Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġboard . squares [ index ]. all Ġ{ Ġit Ġin Ġcalled Ġ} Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġboard . transp osed [ index ]. all Ġ{ Ġit Ġin Ġcalled } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( win ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiterator . remove () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsum Of Un marked Ġ= Ġboard . squares . flatten (). filter Ġ{ Ġit Ġ! in Ġcalled Ġ}. sum () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsol Ġ= Ġsum Of Un marked Ġ* Ġb ingo Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFor Ġpart Ġone , Ġexit Ġearly Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFor Ġpart Ġtwo , Ġcontinue Ġtil Ġthe Ġlast Ġboard Ġis Ġremoved Ġ( comment Ġthe Ġline Ġout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( part 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Part Ġone : Ġ$ sol ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpart 1 Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprintln (" Part Ġtwo : Ġ$ sol ") Ċ } Ċ