To start this day off, we copy our little parser from day 4, but we don’t need all the parsing logic. We can just treat
each answer set as a list of `String`

, because each `String`

represents a single person’s answers.

```
answers :: String -> [[String]]
answers = splitOn [""] . lines
```

For part A, we just want to count the number of unique answers. This is commonly done via `length . group . sort`

. For
part B, we need to filter out the answers with the incorrect amount of responses. The number of people is just given by
`length :: [String] -> Int`

, so we want to filter each `group`

of answers with `\g -> length g == length a`

. Our final
code then looks like

```
solve006 :: String -> Bool -> String
solve006 i b = show . sum $ f <$> answers i
where f a = length . filter (g a) . group . sort . concat $ a
g a = if b then
(==(length a)) . length
else
const True
```