input: Write a python function to create and compile a convolutional neural network model for the MNIST dataset.
  assert isinstance(create_compile_model().summary(), str)
output: from tensorflow.keras.models import Sequential
  from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
  from tensorflow.keras.datasets import mnist
  from tensorflow.keras.utils import to_categorical
  
  def create_compile_model():
      model = Sequential()
  
      # Add convolutional layer with 32 filters, 3x3 kernel size, ReLU activation, and input shape for MNIST dataset
      model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
  
      # Add max pooling layer with 2x2 pool size
      model.add(MaxPooling2D(pool_size=(2, 2)))
  
      # Add another convolutional layer with 64 filters and 3x3 kernel size
      model.add(Conv2D(64, (3, 3), activation='relu'))
  
      # Add another max pooling layer
      model.add(MaxPooling2D(pool_size=(2, 2)))
  
      # Flatten the layers
      model.add(Flatten())
  
      # Add a fully connected layer with 128 units and ReLU activation
      model.add(Dense(128, activation='relu'))
  
      # Add the output layer with 10 units (one for each class) and softmax activation
      model.add(Dense(10, activation='softmax'))
  
      # Compile the model with categorical crossentropy loss, Adam optimizer, and accuracy metric
      model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
  
      return model