input: Provide a function that takes a list of words as input. Each word is represented by a string. The function should return the word with the highest number of distinct characters. If there are multiple words with the same 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:     
      max_word = words[0]
      max_unique_chars = len(set(words[0]))
  
      for word in words:
          unique_chars = len(set(word))
          if unique_chars > max_unique_chars or (unique_chars == max_unique_chars and word < max_word):
              max_word = word
              max_unique_chars = unique_chars
  
      return max_word
  