package Ġcom . chr is wk . a oc . ad vent 2 0 1 8 Ċ Ċ import Ġcom . chr is wk . a oc . util . infinite Cycle Ċ Ċ object ĠDay 1 Ġ{ ĊĊĠĠĠ Ġfun Ġpart One ( input : ĠList < String >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinput . as Sequence (). sum By Ġ{ Ġit . toInt () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpart Two ( input : ĠList < String >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġinput . as Sequence (). map Ġ{ Ġit . toInt () Ġ}. infinite Cycle () ĊĠĠĠĠĠĠĠ Ġval Ġseen Ġ= Ġmutable Set Of < Int >() ĊĠĠĠĠĠĠĠ Ġvar Ġfrequency Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġdata . first Ġ{ Ġchange Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrequency Ġ+= Ġchange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! seen . add ( frequency ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfrequency ĊĠĠĠ Ġ} Ċ }