

def  _snake_case		(snake_case_					:     list[list[int]]  )							->		bool:
  # must be
  __UpperCAmelCase	:  int		=     [list(snake_case_  ) for row in matrix]
  if matrix and isinstance(snake_case_    ,       snake_case_  ):
    if isinstance(matrix[0]    ,       snake_case_  ):
      __UpperCAmelCase	:  Tuple		=     0
      for row in matrix:
        if prev_len == 0:
          __UpperCAmelCase	:  Dict		=     len(snake_case_  )
          __UpperCAmelCase	:  Optional[Any]		=     True
        else:
          __UpperCAmelCase	:  Union[str, Any]		=     prev_len == len(snake_case_  )
    else:
      __UpperCAmelCase	:  int		=     True
  else:
    __UpperCAmelCase	:  str		=     False

  return result





def  _snake_case		(snake_case_					:     list[list[int]]  )							->		None:
  if check_matrix(snake_case_  ) and len(snake_case_  ) > 0:
    __UpperCAmelCase	:  List[str]		=     [list(snake_case_  ) for row in a]
    __UpperCAmelCase	:  Union[str, Any]		=     len(snake_case_  )
    if isinstance(a[0]    ,       snake_case_  ):
      __UpperCAmelCase	:  Tuple		=     len(a[0]  )
    else:
      for dat in a:
        print(snake_case_  )
      return

    # horizotal printing increasing
    for i in range(0    ,       snake_case_  ):
      print(a[0][i]  )
    # vertical printing down
    for i in range(1    ,       snake_case_  ):
      print(a[i][mat_col - 1]  )
    # horizotal printing decreasing
    if mat_row > 1:
      for i in range(mat_col - 2    ,       -1    ,       -1  ):
        print(a[mat_row - 1][i]  )
        # vertical printing up
    for i in range(mat_row - 2    ,       0    ,       -1  ):
      print(a[i][0]  )
    __UpperCAmelCase	:  str		=     [row[1 : mat_col - 1] for row in a[1 : mat_row - 1]]
    if len(snake_case_  ) > 0:
      spiral_print_clockwise(snake_case_  )
    else:
      return
  else:
    print('Not a valid matrix'  )
    return





def  _snake_case		(snake_case_					:     list[list]  )							->		list[int]:
  if matrix:
    return list(matrix.pop(0  )  ) + spiral_traversal(list(zip(*snake_case_  )  )[::-1]  )
  else:
    return []


# driver code
if __name__ == "__main__":
      import doctest

      doctest.testmod()

      _SCREAMING_SNAKE_CASE							 =			[[1, 2, 3, 4], [5, 6, 7, 8], [9, 1_0, 1_1, 1_2]]
      spiral_print_clockwise(a)










def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 9 / 5) + 32  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(float(_UpperCAmelCase							) + 2_73.15  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 9 / 5) + 4_91.67  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) - 32) * 5 / 9  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(((float(_UpperCAmelCase							) - 32) * 5 / 9) + 2_73.15  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(float(_UpperCAmelCase							) + 4_59.67  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(float(_UpperCAmelCase							) - 2_73.15  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(((float(_UpperCAmelCase							) - 2_73.15) * 9 / 5) + 32  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 9 / 5)  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) - 4_91.67) * 5 / 9  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round(float(_UpperCAmelCase							) - 4_59.67  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 5 / 9)  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 1.25 + 2_73.15)  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 2.25 + 32)  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 1.25)  ,					_UpperCAmelCase							)





def 	__snake_case      (     _UpperCAmelCase  ,					_UpperCAmelCase = 2							):
    return round((float(_UpperCAmelCase							) * 2.25 + 32 + 4_59.67)  ,					_UpperCAmelCase							)


if __name__ == "__main__":
 import doctest

 doctest.testmod()





