input: 
  from typing import List
  
  
  def compute_neural_network_output(input_layer: List[float], hidden_layer: List[List[float]], output_layer: List[float]) -> List[float]:
      """ Computes the output of a 3-layer artificial neural network given the input, hidden, and output layers.
      >>> compute_neural_network_output([2, 3], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]], [0.3, 0.7])
      [0.29]
      """
  
output:     hidden_output = []
      for neuron in hidden_layer:
          weighted_sum = sum(w * x for w, x in zip(neuron, input_layer))
          hidden_output.append(weighted_sum)
      
      output_sum = sum(w * h for w, h in zip(output_layer, hidden_output))
      return [output_sum]