input: def generateMarkov(text: str) -> str:
      """Given a text input, generate a Markov chain and produce a 100-word long generated text based on the original text.
      >>> print(generateMarkov('Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?'))
      Alice was beginning to get very tired of sitting by her sister on the bank, and what is the use of a book without pictures or conversations
      """
output:     
      import random
      from collections import defaultdict
  
      def generateMarkov(text: str) -> str:
          words = text.split()
          markov_dict = defaultdict(list)
  
          for i in range(len(words) - 1):
              markov_dict[words[i]].append(words[i + 1])
  
          current_word = random.choice(words)
          generated_text = [current_word]
  
          for _ in range(100):
              if current_word in markov_dict:
                  next_word = random.choice(markov_dict[current_word])
                  generated_text.append(next_word)
                  current_word = next_word
              else:
                  break
  
          return ' '.join(generated_text)
  