input: Write a Python function that takes a list of strings, each representing a word. The function should return the string that has the highest number of distinct characters. If there is a tie, return the string 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):
      words.sort()
      max_word = ""
      max_distinct_count = 0
      for word in words:
          distinct_count = len(set(word))
          if distinct_count > max_distinct_count:
              max_distinct_count = distinct_count
              max_word = word
      return max_word