package Ġnet . v old rich . a oc 2 1 Ċ Ċ import Ġjava . math . BigInteger Ċ Ċ // Ġhttps :// ad vent of code . com / 2 0 2 1 / day / 6 Ċ fun Ġmain () Ġ{ ĊĠĠĠ ĠDay 6 (). run () Ċ } Ċ Ċ class ĠDay 6 Ġ: ĠBase Day () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġtask 1 () Ġ: ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpro create Fish ( 8 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtask 2 () Ġ: ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpro create Fish ( 2 5 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpro create Fish ( day Count Ġ: ĠInt ) Ġ: ĠBigInteger Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfish List Ġ= Ġinput . getFirst Line As Int List () ĊĊĠĠĠĠĠĠĠ Ġval Ġday Index Ġ= Ġ( 0 .. 8 ). map Ġ{ ĠBigInteger . ZERO Ġ}. to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġfish List . forEach Ġ{ Ġday Index [ it ] Ġ= Ġday Index [ it ]. inc () Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( day Ġin Ġ 1 Ġ.. Ġday Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfish Count To Pro create Ġ= Ġday Index [ 0 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġ.. Ġ 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġday Index [ i - 1 ] Ġ= Ġday Index [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Index [ 6 ] Ġ= Ġday Index [ 6 ]. add ( fish Count To Pro create ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Index [ 8 ] Ġ= Ġfish Count To Pro create ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġday Index . fold ( BigInteger . ZERO , ĠBigInteger :: add ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ