input: Write a function to determine if a given string contains all the words in a list of words. The function should return True if the string contains all the words, and False otherwise. If the list of words is empty, return True.
  assert contains_words('This is a test', ['test', 'this', 'is'])==True
  assert contains_words('This is not a test', ['test', 'this', 'is'])==False
  assert contains_words('This is a special test', ['special', 'is', 'test'])==True
  assert contains_words('This function is useful', [])==True
  assert contains_words('', ['test', 'this', 'is'])==False
output: def contains_words(s, words):
      s_words = s.lower().split()
      words = [word.lower() for word in words]
      return all(word in s_words for word in words)