input: 
  from typing import List
  
  def check_matrix_rules(matrix: List[List[int]]) -> bool:
      """
      You have a 2D list matrix with dimensions m x n. Verify if each element matrix[i][j] meets the following:
  
      It should be equal to the element directly below it, i.e. matrix[i][j] == matrix[i + 1][j] (if it exists).
      It should differ from the element directly to its right, i.e. matrix[i][j] != matrix[i][j + 1] (if it exists).
      Return true if every element meets these criteria, otherwise, return false.
  
      Examples:
      >>> matrix = [[1,0,2],[1,0,2]]
      true
      >>> matrix = [[1,1,1],[0,0,0]]
      false
      >>> matrix = [[1],[2],[3]]
      false
  
      Constraints:
      1 <= n, m <= 10
      0 <= matrix[i][j] <= 9
      """
  
output:     
      m = len(matrix)
      n = len(matrix[0])
  
      for i in range(m):
          for j in range(n):
              # Check the element below
              if i + 1 < m and matrix[i][j] != matrix[i + 1][j]:
                  return False
              # Check the element to the right
              if j + 1 < n and matrix[i][j] == matrix[i][j + 1]:
                  return False
                  
      return True
  