Igualdad en el conteo de nombres

Crea una función que cuente los nombres incrustados en la cadena y determine si son iguales. Los nombres están incrustados en una cadena de símbolos especiales y caracteres variados. Los nombres que se deben contar están unidos mediante el símbolo ampersand & y se proporcionan como segundo parámetro. Consulta los siguientes ejemplos para obtener más detalles.

Ejemplos

equal_count("Peter!@#$Paul&*#Peter!--@|#$Paul#$Peter@|Paul$%^^Peter++Paul%$%^Peter++Paul#$#$#Peter@|Paul", "Peter&Paul")
➞ {"Peter":6, "Paul": 6, "equality": True}

equal_count("Elliot!@#$Sam!--@|#$Elliot@|Sam++Elliot$%^Elliot@|Sam!@#Elliot!@#$Sam!--@|#$Elliot", "Sam&Elliot")
➞ {"Sam": 4, "Elliot": 6, "equality": False, "difference": 2}
# "difference" key is added if count is not equal.

equal_count("Tim!@#$Kit&&*#Tim!--@|#$Kit#$%Tim@|Kit$%^^Tim++Kit%$%^Tim++Kit#$#$#Tim@|Kit", "Ken&Tom")
➞ {"Ken": 0, "Tom": 0, "equality": True}

Notas

Asegúrate de devolver el resultado como un diccionario con las claves correspondientes que aparecen en los ejemplos anteriores y la clave difference cuando sea necesario.