input: Write a python function to sort a list of words, grouping words that start with the same letter together and sorting them alphabetically within each group.
  assert sort_words(["apple", "ant", "banana", "blueberry", "cat", "dog"]) == ["ant", "apple", "banana", "blueberry", "cat", "dog"]
  assert sort_words(["zebra", "apple", "ant", "banana", "blueberry", "cat", "dog", "zoo"]) == ["ant", "apple", "banana", "blueberry", "cat", "dog", "zebra", "zoo"]
  assert sort_words(["kiwi", "kale", "kiwano", "kumquat", "apple", "ant"]) == ["ant", "apple", "kale", "kiwi", "kiwano", "kumquat"]
output: def sort_words(words):
      from collections import defaultdict
      grouped_words = defaultdict(list)
      
      for word in words:
          grouped_words[word[0]].append(word)
      
      sorted_words = []
      for letter in sorted(grouped_words):
          sorted_words.extend(sorted(grouped_words[letter]))
      
      return sorted_words