input: 
  def recognize_digits(X_train: np.ndarray, y_train: np.ndarray, X_test: np.ndarray, y_test: np.ndarray) -> Model:
      """
      Train a neural network model to recognize handwritten digits from 0 to 9 using TensorFlow/Keras.
      >>> model = recognize_digits(X_train, y_train, X_test, y_test)
      >>> model.evaluate(X_test, y_test)
      [0.12345, 0.9876]
      """
      # Importing necessary libraries
      from tensorflow.keras.layers import Dense, Input, Dropout
      from tensorflow.keras.models import Model
      from tensorflow.keras.utils import to_categorical
  
      # Defining the neural network model
      # Input layer
      inputs = Input(shape=(784,))
  
      # Hidden layer
      h1 = Dense(64, activation='relu')(inputs)
      h2 = Dropout(0.5)(h1)
  
      # Output layer
      outputs = Dense(10, activation='softmax')(h2)
  
      # Compiling the model
      model = Model(inputs=inputs, outputs=outputs)
      model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
  
      # Data pre-processing
      # Normalize pixel values
      X_train = X_train.astype('float32') / 255
      X_test = X_test.astype('float32') / 255
  
      # One-hot encode labels
      y_train = to_categorical(y_train, num_classes=10)
      y_test = to_categorical(y_test, num_classes=10)
  
      # Fitting the model
      model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=5, batch_size=128)
      return model
  
output:     # Fitting the model
      model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=5, batch_size=128)
      return model