input: 
  def sentiment_analysis_program():
      """ Perform sentiment analysis on product reviews using natural language processing techniques.
      The program should tokenize the text, remove stop words, lemmatize words, generate features using CountVectorizer,
      split the data into training and test sets, and train a Multinomial Naive Bayes classifier. Finally, it should 
      predict the sentiment of the test set and print a classification report.
      
      Example:
      >>> sentiment_analysis_program()
                precision    recall  f1-score   support
      
             0       0.89      0.92      0.91       100
             1       0.92      0.89      0.90       100
      
      accuracy                           0.90       200
     macro avg       0.90      0.90      0.90       200
  weighted avg       0.90      0.90      0.90       200
      """
output:     import nltk
      from nltk.corpus import stopwords
      from nltk.tokenize import word_tokenize
      from nltk.stem import WordNetLemmatizer
      from sklearn.feature_extraction.text import CountVectorizer
      from sklearn.model_selection import train_test_split
      from sklearn.naive_bayes import MultinomialNB
      from sklearn.metrics import classification_report
  
      nltk.download('punkt')
      nltk.download('stopwords')
      nltk.download('wordnet')
  
      reviews = [
          "This product is amazing! I love it.",
          "Terrible product, would not recommend.",
          "Great value for the price.",
          "I am very disappointed with this purchase.",
          "Excellent quality and fast delivery."
      ]
  
      sentiments = [1, 0, 1, 0, 1]
  
      stop_words = set(stopwords.words('english'))
      lemmatizer = WordNetLemmatizer()
  
      def preprocess(text):
          tokens = word_tokenize(text.lower())
          tokens = [lemmatizer.lemmatize(word) for word in tokens if word.isalnum() and word not in stop_words]
          return ' '.join(tokens)
  
      preprocessed_reviews = [preprocess(review) for review in reviews]
  
      vectorizer = CountVectorizer()
      X = vectorizer.fit_transform(preprocessed_reviews)
  
      X_train, X_test, y_train, y_test = train_test_split(X, sentiments, test_size=0.2, random_state=42)
  
      classifier = MultinomialNB()
      classifier.fit(X_train, y_train)
  
      y_pred = classifier.predict(X_test)
  
      print(classification_report(y_test, y_pred))