package Ġt dd micro exercises . leader board Ċ Ċ class ĠLeader board ( var arg Ġr aces : ĠRace ) Ġ{ ĊĊĠ Ġprivate Ġval Ġdriver Results : ĠMap < String , ĠInt > Ġ= ĠlistOf (* r aces ) ĊĠĠĠ Ġ. map Ġ{ Ġrace Ġ-> Ġrace . results . map Ġ{ Ġdriver Ġ-> Ġdriver . name Ġto Ġrace . get Points ( driver ) Ġ} Ġ} ĊĠĠĠ Ġ. flatten () ĊĠĠĠ Ġ. groupBy ({ Ġit . first Ġ}, Ġ{ Ġit . second Ġ}) ĊĠĠĠ Ġ. map Values Ġ{ Ġit . value . sum () Ġ} ĊĊĠ Ġfun Ġdriver Results () Ġ= Ġdriver Results ĊĊĠ Ġfun Ġdriver Rank ings (): ĠList < String > Ġ= ĊĠĠĠ Ġdriver Results . keys . sorted With ( compare By Descending < String > Ġ{ Ġdriver Results [ it ] Ġ}. then By Descending Ġ{ Ġit Ġ}) Ċ Ċ } Ċ