input: Write a function to determine if a given string contains all the words in a given list of words. If the string contains all the words, the function should return True; otherwise, it should return False. The function should be case-insensitive.
  
  def contains_words(input_string, words):
   input_string = input_string.lower()
   words = [word.lower() for word in words]
   for word in words:
   if word not in input_string:
   return False
   return True
  
  print(contains_words('This is a test', ['test', 'this', 'is'])) # True
  print(contains_words('This is a test', ['test', 'this', 'not'])) # False
  print(contains_words('This is a test', ['test', 'is'])) # True
  print(contains_words('This is a test', ['Test', 'This'])) # True
  print(contains_words('This is a test', ['test', 'hello'])) # False
output: def contains_words(input_string, words):
   input_string = input_string.lower()
   words = [word.lower() for word in words]
   for word in words:
   if word not in input_string:
   return False
   return True