input: 
  def predict_annual_income(age: int, education_level: int, epochs: int, batch_size: int) -> float:
      """
      Design a neural network in Python to predict a customer’s annual income based on their age and education level.
      The education level is represented as follows:
      0 - High School, 1 - College, 2 - University, 3 - Post-Graduate
      
      Args:
          age (int): Age of the customer
          education_level (int): Education level of the customer (0 - High School, 1 - College, 2 - University, 3 - Post-Graduate)
          epochs (int): Number of epochs to train the model
          batch_size (int): Batch size for training the model
          
      Returns:
          float: Predicted annual income of the customer
      
      Example:
      >>> predict_annual_income(50, 3, 150, 2)
      80000.0
      """
      import numpy as np
      import keras
      from keras.layers import Dense
      from keras.models import Sequential
  
      # Build model
      model = Sequential()
      model.add(Dense(64, input_dim=2, activation='relu'))
      model.add(Dense(1))
  
      # Compile the model
      model.compile(loss='mean_squared_error', optimizer='adam')
  
      # Obtain some data - age (years), education level (high school, college, university)
      x_train = np.array([[25, 0], [30, 0], [35, 0], 
                          [40, 0], [45, 1], [45, 2],
                          [50, 1], [50, 2], [55, 1],
                          [55, 2], [50, 3], [60, 3]])
  
      # Labels - annual income
      y_train = [15000, 20000, 25000, 30000,
                 40000, 45000, 50000, 60000, 
                 65000, 70000, 80000, 90000]
  
      # Fit the model
      model.fit(x_train, y_train, epochs=epochs, batch_size=batch_size)
  
      # Calculate the predicted annual income
      annualIncome = model.predict(np.array([[age, education_level]]))
      return annualIncome[0][0]
  
  # Example:
  # predict_annual_income(50, 3, 150, 2) -> 80000.0
  
output:     return float(annualIncome[0][0])