package Ġyear 2 0 2 1 . day 0 1 . day 0 6 Ċ Ċ import Ġutil . assertTrue Ċ import Ġutil . read 2 0 2 1 Day Input ĊĊ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġfun Ġcalc Lan tern Fish Density ( input : ĠList < Int >, Ġdays : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfish Density List Ġ= Ġ( 0 .. 9 ). map Ġ{ Ġn Ġ-> Ġinput . count Ġ{ Ġn Ġ== Ġit Ġ} Ġ}. map Ġ{ Ġit . to Long () Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. days ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 1 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 3 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 4 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 5 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 6 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 7 ] Ġ+ Ġfish Density List [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 8 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfish Density List [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfish Density List . sum () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġinput Ġ= Ġread 2 0 2 1 Day Input (" Day 0 6 . txt "). first (). split ("," ). map Ġ{ Ġit . toInt () Ġ} ĊĠĠĠ Ġfun Ġtask 0 1 () Ġ= Ġcalc Lan tern Fish Density ( input , Ġ 8 0 ) ĊĠĠĠ Ġfun Ġtask 0 2 () Ġ= Ġcalc Lan tern Fish Density ( input , Ġ 2 5 6 ) ĊĊĠĠĠ ĠassertTrue ( task 0 1 (). toInt () Ġ== Ġ 3 6 0 7 6 1 ) ĊĠĠĠ ĠassertTrue ( task 0 2 () Ġ== Ġ 1 6 3 2 7 7 9 8 3 8 0 4 5 ) Ċ } Ċ