input: def construct_mnist_model():
      """Construct a neural network model using Keras to correctly classify the MNIST dataset.
      The model should have the following structure:
      1. An input layer with shape (784,)
      2. A hidden layer with 128 units and ReLU activation
      3. An output layer with 10 units and softmax activation
      The model should be compiled with the Adam optimizer, sparse categorical crossentropy loss, 
      and accuracy as the metric.
      
      Example:
      >>> model = construct_mnist_model()
      >>> model.summary()
      """
      # Input layer
      input_layer = keras.layers.Input(shape=(784,))
  
      # Hidden layer
      hidden_layer = keras.layers.Dense(128, 
                      activation='relu')(input_layer)
  
      # Output layer
      output_layer = keras.layers.Dense(10, 
                      activation='softmax')(hidden_layer)
  
      # Model
      model = keras.Model(inputs=input_layer, outputs=output_layer)
  
      # Compile model
      model.compile(optimizer='adam', 
                    loss='sparse_categorical_crossentropy',
                    metrics=['accuracy'])
      
      return model
output:     
      return model
  