input: Write a function to produce a matrix C where each element is the product of the corresponding elements of matrices A and B. If the matrices have different dimensions, return "Matrix multiplication not possible".
  def elementwiseMultiply(A, B):
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrix multiplication not possible"
  
      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]]
  assert elementwiseMultiply(A, B)==[[21, 20], [0, 2]]
  assert elementwiseMultiply([[1, 2], [3, 4]], [[2, 2], [2, 2]])==[[2, 4], [6, 8]]
  assert elementwiseMultiply([[1]], [[3]])==[[3]]
  assert elementwiseMultiply([[1, 2, 3]], [[4, 5, 6]])==[[4, 10, 18]]
  assert elementwiseMultiply([[1], [2], [3]], [[4], [5], [6]])==[[4], [10], [18]]
  assert elementwiseMultiply([[1, 2], [3, 4]], [[1, 2], [3, 5]])==[[1, 4], [9, 20]]
output: def elementwiseMultiply(A, B):
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrix multiplication not possible"
  
      C = [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
      
      return C