 
   def mark_map(map) do
     Enum.reduce(map, Map.new(), &mark/2)
+    # we don't need the coordinates today, actually!
+    |> Map.values()
   end
 
   # here we finally we count all the pixels drawn more than once.

    input
    |> build_map
    |> mark_map
    |> Enum.filter(fn {_, ids} -> Enum.count(ids) > 1 end)
    |> Enum.count()
  end


    overlapping_ids =
      map
      |> mark_map
      |> Enum.filter(&(Enum.count(&1) > 1))
      |> List.flatten()
      |> Enum.uniq()
