input: from typing import List, Tuple
  
  def extract_top_words(text: str, top_n: int) -> List[Tuple[str, int]]:
      """Extract the top N most frequent words from a given text.
      >>> extract_top_words("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", 10)
      [('dolor', 1), ('Lorem', 1), ('ipsum', 1), ('amet', 1), ('consectetur', 1), ('adipiscing', 1), ('elit,', 1), ('sed', 1), ('do', 1), ('eiusmod', 1)]
      """
output:     words = text.split()
      word_count = {}
      for word in words:
          word = word.strip(".,!?:;").lower()
          if word in word_count:
              word_count[word] += 1
          else:
              word_count[word] = 1
      sorted_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
      return sorted_words[:top_n]