input: Write a function that checks if a given string contains all the words in a provided list. The function should return True if all words are found in the string, otherwise it should return False.
  
  def contains_words(input_string, words):
      for word in words:
          if word.lower() not in input_string.lower():
              return False
      return True
  
  print(contains_words('This is a test', ['test', 'this', 'is'])) # True
  print(contains_words('This is a test', ['test', 'this', 'a'])) # True
  print(contains_words('This is a test', ['test', 'hello'])) # False
  print(contains_words('This is a test', ['This', 'is', 'a', 'test'])) # True
  print(contains_words('This is a test', ['test', 'THIS'])) # True
output: def contains_words(input_string, words):
      for word in words:
          if word.lower() not in input_string.lower():
              return False
      return True