input: Write a function to create and print the output of a 3-layer artificial neural network using Python. If the input layers are not provided, it should default to the given values.
  assert three_layer_nn([2, 3], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]], [0.3, 0.7]) == np.dot(np.dot([2, 3], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]]), [0.3, 0.7])
  assert three_layer_nn([1, 2], [[0.2, 0.5], [0.7, 0.8], [0.4, 0.6]], [0.2, 0.8]) == np.dot(np.dot([1, 2], [[0.2, 0.5], [0.7, 0.8], [0.4, 0.6]]), [0.2, 0.8])
  assert three_layer_nn([0, 0], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]], [0.3, 0.7]) == np.dot(np.dot([0, 0], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]]), [0.3, 0.7])
  assert three_layer_nn([], [], []) == np.dot(np.dot([2, 3], [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]]), [0.3, 0.7])
output: def three_layer_nn(input_layers=[2, 3], weights1=[[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]], weights2=[0.3, 0.7]):
      if not input_layers:
          input_layers = [2, 3]
      if not weights1:
          weights1 = [[0.1, 0.4], [0.8, 0.6], [0.3, 0.9]]
      if not weights2:
          weights2 = [0.3, 0.7]
      return np.dot(np.dot(input_layers, weights1), weights2)