input: Write a function to perform crossover between two parent genes.
  assert np.array_equal(crossover(np.array([1, 2, 3]), np.array([4, 5, 6]), 3)[0], np.array([1, 2, 6])) or np.array_equal(crossover(np.array([1, 2, 3]), np.array([4, 5, 6]), 3)[0], np.array([1, 5, 6]))
  assert np.array_equal(crossover(np.array([7, 8, 9]), np.array([10, 11, 12]), 3)[1], np.array([10, 8, 9])) or np.array_equal(crossover(np.array([7, 8, 9]), np.array([10, 11, 12]), 3)[1], np.array([10, 11, 9]))
output: import numpy as np
  
  def crossover(parent1, parent2, crossover_point):
      child1 = np.concatenate((parent1[:crossover_point], parent2[crossover_point:]))
      child2 = np.concatenate((parent2[:crossover_point], parent1[crossover_point:]))
      return child1, child2