input: Write a python function to find the longest substring containing all the vowels.
  assert find_longest_substring("helloaieouxyz") == "aieou"
  assert find_longest_substring("aeiouxyzxyzxyz") == "aeiou"
  assert find_longest_substring("thisisaverylongstringcontainingaeiouandothercharacters") == "averylongstringcontainingaeiou"
  assert find_longest_substring("aeio") == ""
  assert find_longest_substring("aeiouaeiou") == "aeiouaeiou"
output: def find_longest_substring(s):
      vowels = set("aeiou")
      max_length = 0
      max_substring = ""
      start = 0
      current_vowels = set()
      
      for end, char in enumerate(s):
          if char in vowels:
              current_vowels.add(char)
          
          while current_vowels == vowels:
              if end - start + 1 > max_length:
                  max_length = end - start + 1
                  max_substring = s[start:end+1]
              if s[start] in vowels:
                  current_vowels.remove(s[start])
              start += 1
              
      return max_substring