module Part1 where import Commons import Data.List (sort, sortOn) getHandValue :: Hand -> HandValue getHandValue hand = HandValue {hand = hand, value = 100 ^ 5 * (getHandValueTypeFromSorted . sort) (values hand) + getHandSecondValue (values hand)} sortHands :: [Hand] -> [Hand] sortHands = map hand . sortHandValues . map getHandValue getTotalWinnings :: [Hand] -> Int getTotalWinnings = getWinningsFromSorted 1 . sortHands