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


  def mark_map(map) do
    Enum.reduce(map, Map.new(), &mark/2)
  end

  # here we finally we count all the pixels drawn more than once.

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