input: 
  from typing import List
  
  def elementwise_multiplication(A: List[List[int]], B: List[List[int]]) -> List[List[int]]:
      """Take two matrices, A and B, and produce a matrix C where each element is the product of the corresponding elements of A and B.
      >>> elementwise_multiplication([[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))]
  
  A = [[3, 4], 
       [1, 2]]
  B = [[7, 5],
       [0, 1]]
  C = elementwise_multiplication(A, B)
  print(C)  # Output = [[21, 20], [0, 2]]
  
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))]
  