input: Write a function to perform matrix multiplication on two given matrices. If the matrices cannot be multiplied, return None. If either matrix is empty, return None.
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]])==[[19, 22], [43, 50]]
  assert matrix_multiplication([[1, 2], [3, 4]], [[1, 1], [1, 1]])==[[3, 3], [7, 7]]
  assert matrix_multiplication([[1, 0], [0, 1]], [[1, 2], [3, 4]])==[[1, 2], [3, 4]]
  assert matrix_multiplication([[3, 4]], [[1], [2]])==[[11]]
  assert matrix_multiplication([], [[1, 2]])==None
  assert matrix_multiplication([[1, 2]], [])==None
output: def matrix_multiplication(A, B):
      if not A or not B:
          return None
      if len(A[0]) != len(B):
          return None
      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