input: Write a function `elementwiseMultiplication` that takes two matrices, A and B, and produces a matrix C where each element is the product of the corresponding elements of A and B. If the matrices do not have the same dimensions, return "Matrices must have the same dimensions". If either matrix is empty, return "Matrix cannot be empty".
  
  assert elementwiseMultiplication([[3, 4], [1, 2]], [[7, 5], [0, 1]])==[[21, 20], [0, 2]]
  assert elementwiseMultiplication([[3, 4, 5], [1, 2, 3]], [[7, 5, 4], [0, 1, 2]])==[[21, 20, 20], [0, 2, 6]]
  assert elementwiseMultiplication([[3, 4, 5]], [[7, 5, 4]])==[[21, 20, 20]]
  assert elementwiseMultiplication([[3, 4], [1, 2]], [[7, 5]])=="Matrices must have the same dimensions"
  assert elementwiseMultiplication([], [[7, 5]])=="Matrix cannot be empty"
  assert elementwiseMultiplication([[3, 4], [1, 2]], [])=="Matrix cannot be empty"
  assert elementwiseMultiplication([], [])=="Matrix cannot be empty"
output: def elementwiseMultiplication(A, B):
      if not A or not B:
          return "Matrix cannot be empty"
      if len(A) != len(B) or any(len(rowA) != len(rowB) for rowA, rowB in zip(A, B)):
          return "Matrices must have the same dimensions"
      return [[A[i][j] * B[i][j] for j in range(len(A[0]))] for i in range(len(A))]