input: def construct_neural_network(data_path: str) -> float:
      """ Construct a neural network in Python that can perform basic regression on the given data.
      The data is loaded from a CSV file located at the given path. The neural network is built using
      Keras, with three dense layers: the first layer has 12 neurons, the second layer has 12 neurons,
      and the third layer has 1 neuron. The neural network is compiled using mean squared error loss
      and the Adam optimizer, and is trained for 100 epochs with a batch size of 20. The test score,
      which is the mean squared error on the test data, is returned.
      >>> score = construct_neural_network('data.csv')
      >>> print('Test score:', score)
      """
output:     import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      from tensorflow.keras.models import Sequential
      from tensorflow.keras.layers import Dense
  
      # Load the data
      data = pd.read_csv(data_path)
      X = data.iloc[:, :-1].values
      y = data.iloc[:, -1].values
  
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      # Standardize the data
      scaler = StandardScaler()
      X_train = scaler.fit_transform(X_train)
      X_test = scaler.transform(X_test)
  
      # Build the neural network model
      model = Sequential()
      model.add(Dense(12, input_dim=X_train.shape[1], activation='relu'))
      model.add(Dense(12, activation='relu'))
      model.add(Dense(1, activation='linear'))
  
      # Compile the model
      model.compile(loss='mean_squared_error', optimizer='adam')
  
      # Train the model
      model.fit(X_train, y_train, epochs=100, batch_size=20, verbose=0)
  
      # Evaluate the model on the test data
      score = model.evaluate(X_test, y_test, verbose=0)
  
      return score