input: Write a python function to perform matrix multiplication without using numpy.
  assert matrix_multiplication([[2, 3, 5], [5, 7, 2], [4, 2, 6]], [[6, 2, 1], [3, 4, 5], [5, 3, 7]]) == [[43, 31, 48], [61, 41, 39], [56, 38, 49]]
  assert matrix_multiplication([[1, 0], [0, 1]], [[4, 5], [7, 8]]) == [[4, 5], [7, 8]]
  assert matrix_multiplication([[1, 2], [3, 4]], [[2, 0], [1, 2]]) == [[4, 4], [10, 8]]
output: def matrix_multiplication(A, B):
      # Get the dimensions of the matrices
      rows_A, cols_A = len(A), len(A[0])
      rows_B, cols_B = len(B), len(B[0])
      
      # Ensure the matrices can be multiplied
      if cols_A != rows_B:
          raise ValueError("Number of columns in A must be equal to number of rows in B")
      
      # Create the result matrix with zeros
      result = [[0 for _ in range(cols_B)] for _ in range(rows_A)]
      
      # Perform the matrix multiplication
      for i in range(rows_A):
          for j in range(cols_B):
              for k in range(cols_A):
                  result[i][j] += A[i][k] * B[k][j]
      
      return result