input: 
  from typing import List
  
  def elementwise_product(A: List[List[float]], B: List[List[float]]) -> List[List[float]]:
      """ Given two matrices A and B, produce a matrix C where each element is the product of the
      corresponding elements of A and B.
      >>> elementwise_product([[3, 4], [1, 2]], [[7, 5], [0, 1]])
      [[21, 20], [0, 2]]
      """
      if len(A) != len(B) or len(A[0]) != len(B[0]):
          raise ValueError("Matrices A and B 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))]
  
output:     if len(A) != len(B) or len(A[0]) != len(B[0]):
          raise ValueError("Matrices A and B 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))]