input: Write a function to generate a matrix C where each element is the product of the corresponding elements of matrices A and B.
  
  def elementwiseProduct(A, B):
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrices must have the same dimensions"
  
      C = [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
  
      return C
  
  A = [[3, 4], 
       [1, 2]]
  B = [[7, 5],
       [0, 1]]
  C = elementwiseProduct(A, B)
  
  assert elementwiseProduct(A, B) == [[21, 20], [0, 2]]
  assert elementwiseProduct([[2, 3], [4, 5]], [[1, 1], [1, 1]]) == [[2, 3], [4, 5]]
  assert elementwiseProduct([[1], [2]], [[3], [4]]) == [[3], [8]]
  assert elementwiseProduct([[1, 2], [3, 4]], [[2, 2], [2, 2]]) == [[2, 4], [6, 8]]
  assert elementwiseProduct([], []) == "Matrices must have the same dimensions"
output: 
  def elementwiseProduct(A, B):
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrices must have the same dimensions"
  
      C = [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
  
      return C
  