input: def construct_nn_model_for_mnist() -> keras.Model:
      """ Constructs a neural network model using Keras to classify the MNIST data set.
      The model should have an input layer of shape (784,), a hidden layer with 128 units 
      and relu activation, and an output layer with 10 units and softmax activation.
      The model should be compiled using the Adam optimizer and sparse categorical crossentropy loss.
      >>> model = construct_nn_model_for_mnist()
      >>> model.input_shape
      (None, 784)
      >>> model.output_shape
      (None, 10)
      """
output:     model = keras.Sequential([
          keras.layers.Input(shape=(784,)),
          keras.layers.Dense(128, activation='relu'),
          keras.layers.Dense(10, activation='softmax')
      ])
      model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
      return model