input: Write a python function that takes a list of strings as an argument. The list contains various words. The function should return the word with the highest number of unique characters. If there are multiple words with the highest number of unique characters, return the one that appears first in alphabetical order.
  assert (find_max(["name", "of", "string"]) == "string")
  assert (find_max(["name", "enam", "game"]) == "enam")
  assert (find_max(["aaaaaaa", "bb", "cc"]) == "aaaaaaa")
  assert (find_max(["abc", "cba"]) == "abc")
  assert (find_max(["play", "this", "game", "of","footbott"]) == "footbott")
  assert (find_max(["we", "are", "gonna", "rock"]) == "gonna")
  assert (find_max(["we", "are", "a", "mad", "nation"]) == "nation")
  assert (find_max(["this", "is", "a", "prrk"]) == "this")
  assert (find_max(["b"]) == "b")
  assert (find_max(["play", "play", "play"]) == "play")
output: def find_max(words):
      def unique_char_count(word):
          return len(set(word))
      
      max_word = max(sorted(words), key=lambda word: (unique_char_count(word), word))
      
      return max_word