input: Write a function to perform matrix multiplication on two given matrices. The function should check if the number of columns in the first matrix is equal to the number of rows in the second matrix before performing the multiplication. If the dimensions are not appropriate, return None. Otherwise, return the resulting matrix after multiplication.
  
  def matrix_multiplication(A, B):
      rows_A = len(A)
      cols_A = len(A[0])
      rows_B = len(B)
      cols_B = len(B[0])
      
      if cols_A != rows_B:
          return None
      
      result = [[0 for i in range(cols_B)] for j in range(rows_A)]
      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
  
  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]]) == [[21, 24, 27], [47, 54, 61]]
  assert matrix_multiplication([[1, 2]], [[3], [4]]) == [[11]]
  assert matrix_multiplication([[1, 2], [3, 4]], [[5], [7]]) == None
output: 
  def matrix_multiplication(A, B):
      rows_A = len(A)
      cols_A = len(A[0])
      rows_B = len(B)
      cols_B = len(B[0])
      
      if cols_A != rows_B:
          return None
      
      result = [[0 for i in range(cols_B)] for j in range(rows_A)]
      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
  