class ĠDay 0 6 ( private Ġval Ġinput : ĠList < Int >) Ġ{ ĊĊĠĠĠ Ġprivate Ġfun ĠLong Array . rotate Left In Place () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġleft Most Ġ= Ġfirst () ĊĠĠĠĠĠĠĠ Ġthis . copy Into ( this , ĠstartIndex Ġ= Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġthis [ this . last Index ] Ġ= Ġleft Most ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsimulate Lan tern Fish ( f ishes : ĠLong Array , Ġdays : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġrepeat ( days ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf ishes . rotate Left In Place () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf ishes [ 6 ] Ġ+= Ġf ishes [ 8 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġf ishes . sum () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsolve 1 (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġf ishes Ġ= ĠLong Array ( 9 ). apply Ġ{ Ġinput . forEach Ġ{ Ġthis [ it ] Ġ+= Ġ 1 L Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsimulate Lan tern Fish ( f ishes , Ġ 8 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsolve 2 (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġf ishes Ġ= ĠLong Array ( 9 ). apply Ġ{ Ġinput . forEach Ġ{ Ġthis [ it ] Ġ+= Ġ 1 L Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsimulate Lan tern Fish ( f ishes , Ġ 2 5 6 ) ĊĠĠĠ Ġ} Ċ }