package Ġcom . github . d sv en sson . ad vent of code . tw enty 2 0 Ċ Ċ object ĠDay 1 Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġprocess ( input : ĠString , Ġfn : Ġ( Iterable < Int >) Ġ-> ĠSequence < Int >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinput ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. line Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Integer :: valueOf ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let ( fn ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpart One ( input : ĠString ): ĠInt Ġ= Ġprocess ( input ) Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠ Ġsequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ+ Ġy Ġ== Ġ 2 0 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( x Ġ* Ġy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpart Two ( input : ĠString ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġprocess ( input ) Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( z Ġin Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ+ Ġy Ġ+ Ġz Ġ== Ġ 2 0 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( x Ġ* Ġy Ġ* Ġz ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }