input: 
  def naive_bayes_classifier(emails: List[str], labels: List[str]) -> List[str]:
      """ Construct a naive bayes classifier using python to classify emails as spam or not spam.
      Given a list of email texts and corresponding labels ('spam' or 'not spam'), the function
      will train a GaussianNB classifier to predict whether new emails are spam or not spam.
      >>> predictions = naive_bayes_classifier(['Hi there', 'Get rich quick'], ['not spam', 'spam'])
      >>> predictions == ['not spam', 'not spam']
      False
      """
  
output:     from sklearn.feature_extraction.text import CountVectorizer
      from sklearn.naive_bayes import GaussianNB
      from sklearn.model_selection import train_test_split
  
      vectorizer = CountVectorizer()
      X = vectorizer.fit_transform(emails).toarray()
      y = labels
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      classifier = GaussianNB()
      classifier.fit(X_train, y_train)
  
      predictions = classifier.predict(X_test)
      return predictions