input: Write a function to perform matrix multiplication on two given matrices. If the number of columns in the first matrix is not equal to the number of rows in the second matrix, the function should return an empty matrix. If both matrices are empty, the function should return an empty matrix.
  def matrix_multiplication(A, B)
  
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]])==[[19, 22], [43, 50]]
  assert matrix_multiplication([[1, 2, 3], [4, 5, 6]], [[7, 8], [9, 10], [11, 12]])==[[58, 64], [139, 154]]
  assert matrix_multiplication([], [])==[]
  assert matrix_multiplication([[1, 2]], [[3], [4]])==[[11]]
  assert matrix_multiplication([[1, 2, 3]], [[4], [5]])==[]
output: def matrix_multiplication(A, B):
      if not A or not B or len(A[0]) != len(B):
          return []
      result = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]
      for i in range(len(A)):
          for j in range(len(B[0])):
              for k in range(len(B)):
                  result[i][j] += A[i][k] * B[k][j]
      return result