input: Write a function to generate a Python program that multiplies two given matrices. The function should return the resulting matrix after performing matrix multiplication. If the matrices cannot be multiplied due to size mismatches, the function should return an empty list.
  assert matrix_multiplication([[1, 2], [3, 4]], [[1, 0], [0, 1]])==[[1, 2], [3, 4]]
  assert matrix_multiplication([[5, 0], [1, 2]], [[7, 8], [9, 10]])==[[35, 40], [25, 28]]
  assert matrix_multiplication([[1, 2, 3], [4, 5, 6]], [[7, 8], [9, 10], [11, 12]])==[[58, 64], [139, 154]]
  assert matrix_multiplication([[3, 4]], [[5], [6]])==[[39]]
  assert matrix_multiplication([[1, 2]], [[3, 4], [5, 6], [7, 8]])==[]
output: def matrix_multiplication(A, B):
      if 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