input: Write a Python function that takes a list of words as input. The function should identify the word with the highest number of unique characters. In case of a tie, return the word 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 = sorted(words, key=lambda word: (-unique_char_count(word), word))[0]
      return max_word