input: Write a function that takes a list of words and an integer n and returns a list of words that appear at least n times in the given list.
  
  from collections import Counter
  
  def frequent_words(words, n):
      counts = Counter(words)
      return [word for word, count in counts.items() if count >= n]
  
  assert frequent_words(['a', 'b', 'a', 'c', 'd', 'a', 'x', 'd', 'd'], 3) == ['a', 'd']
  assert frequent_words(['x', 'x', 'y', 'y', 'y', 'z', 'z', 'z', 'z'], 2) == ['x', 'y', 'z']
  assert frequent_words(['one', 'two', 'three', 'two', 'one'], 1) == ['one', 'two', 'three']
  assert frequent_words(['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c'], 3) == ['a', 'b']
  assert frequent_words([], 1) == []
output: 
      counts = Counter(words)
      return [word for word, count in counts.items() if count >= n]
  