input: Write a function to multiply two matrices A and B and produce a matrix C where each element of C is the product of the corresponding elements of A and B. If the matrices are not compatible for element-wise multiplication (i.e., they don't have the same dimensions), return an error message. If either matrix is empty, return an error message as well.
  
  def elementwiseMatrixProduct(A, B):
      if len(A) == 0 or len(B) == 0 or len(A[0]) == 0 or len(B[0]) == 0:
          return "Matrix is empty"
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrix dimensions are not compatible"
      
      C = [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
      
      return C
  
  assert elementwiseMatrixProduct([[3, 4], [1, 2]], [[7, 5], [0, 1]])==[[21, 20], [0, 2]]
  assert elementwiseMatrixProduct([], [])=="Matrix is empty"
  assert elementwiseMatrixProduct([[3, 4, 5]], [[1, 2]])=="Matrix dimensions are not compatible"
  assert elementwiseMatrixProduct([[3], [4]], [[3], [4]])==[[9], [16]]
  assert elementwiseMatrixProduct([[3, 4]], [[1, 2]])==[[3, 8]]
output: def elementwiseMatrixProduct(A, B):
      if len(A) == 0 or len(B) == 0 or len(A[0]) == 0 or len(B[0]) == 0:
          return "Matrix is empty"
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          return "Matrix dimensions are not compatible"
      
      C = [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
      
      return C