input: Write a function to find a list of words that appear at least n times in a given list of words. The function should return the list of words that meet the criteria. If no words appear at least n times, the function should return an empty list.
  
  from collections import Counter
  
  def frequent_words(words, n):
      counts = Counter(words)
      return [word for word, count in counts.items() if count >= n]
  
  # Test cases
  assert frequent_words(['a', 'b', 'a', 'c', 'd', 'a', 'x', 'd', 'd'], 3) == ['a', 'd']
  assert frequent_words(['cat', 'dog', 'cat', 'cat', 'dog', 'mouse', 'mouse'], 2) == ['cat', 'dog', 'mouse']
  assert frequent_words(['x', 'y', 'z'], 2) == []
  assert frequent_words([], 1) == []
output: from collections import Counter
  
  def frequent_words(words, n):
      counts = Counter(words)
      return [word for word, count in counts.items() if count >= n]