import AoC import qualified Data.Set as S import Data.Set (Set) main = runAoC ((fmap . fmap) S.fromList . splitOnEmptyLines) part1 part2 where part1 = countSetsFolded S.union part2 = countSetsFolded S.intersection countSetsFolded f = sum . map (S.size . foldr1 f)