input: def generate_ngrams(text, window_size):
      """
      Generates n-grams from the given text with a specified window size.
      The function converts the text to lowercase, splits it into words,
      and then creates n-grams of the specified window size.
      
      >>> generate_ngrams("The quick brown fox jumps over the lazy dog", 3)
      Counter({'the quick brown': 3, 'quick brown fox': 2, 'over the lazy': 1, 'brown fox jumps': 1, 'fox jumps over': 1, 'the lazy dog': 1, 'jumps over the': 1, 'quick brown fox jumps': 1})
      """
output:     from collections import Counter
      
      text = text.lower()
      words = text.split()
      ngrams = Counter()
      
      for i in range(len(words) - window_size + 1):
          ngram = ' '.join(words[i:i + window_size])
          ngrams[ngram] += 1
      
      return ngrams