

def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						# must be
						snake_case_     =			[list(SCREAMING_SNAKE_CASE__ ) for row in matrix]
						if matrix and isinstance(SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__ ):
												if isinstance(matrix[0]						,	SCREAMING_SNAKE_CASE__ ):
																		snake_case_     =			0
																		for row in matrix:
																								if prev_len == 0:
																														snake_case_     =			len(SCREAMING_SNAKE_CASE__ )
																														snake_case_     =			True
																								else:
																														snake_case_     =			prev_len == len(SCREAMING_SNAKE_CASE__ )
												else:
																		snake_case_     =			True
						else:
												snake_case_     =			False

						return result


def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						if check_matrix(SCREAMING_SNAKE_CASE__ ) and len(SCREAMING_SNAKE_CASE__ ) > 0:
												snake_case_     =			[list(SCREAMING_SNAKE_CASE__ ) for row in a]
												snake_case_     =			len(SCREAMING_SNAKE_CASE__ )
												if isinstance(a[0]						,	SCREAMING_SNAKE_CASE__ ):
																		snake_case_     =			len(a[0] )
												else:
																		for dat in a:
																								print(SCREAMING_SNAKE_CASE__ )
																		return

												# horizotal printing increasing
												for i in range(0						,	SCREAMING_SNAKE_CASE__ ):
																		print(a[0][i] )
												# vertical printing down
												for i in range(1						,	SCREAMING_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] )
												snake_case_     =			[row[1 : mat_col - 1] for row in a[1 : mat_row - 1]]
												if len(SCREAMING_SNAKE_CASE__ ) > 0:
																		spiral_print_clockwise(SCREAMING_SNAKE_CASE__ )
												else:
																		return
						else:
												print('''Not a valid matrix''' )
												return


def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						if matrix:
												return list(matrix.pop(0 ) ) + spiral_traversal(list(zip(*SCREAMING_SNAKE_CASE__ ) )[::-1] )
						else:
												return []


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

					doctest.testmod()

					lowerCAmelCase_ 			=			[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
					spiral_print_clockwise(a)


lowerCAmelCase_ 			=			(1, 1_53, 3_70, 3_71, 16_34, 24_67_80_51, 1_15_13_22_19_01_87_63_99_25_65_09_55_97_97_39_71_52_24_01)
lowerCAmelCase_ 			=			(-1_53, -1, 0, 1.2, 2_00, "A", [], {}, None)


def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						if not isinstance(SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__ ) or n < 1:
												return False

						# Initialization of sum and number of digits.
						snake_case_     =			0
						snake_case_     =			0
						snake_case_     =			n
						# Calculation of digits of the number
						while temp > 0:
												number_of_digits += 1
												temp //= 10
						# Dividing number into separate digits and find Armstrong number
						snake_case_     =			n
						while temp > 0:
												snake_case_     =			temp % 10
												total += rem**number_of_digits
												temp //= 10
						return n == total


def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						if not isinstance(SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__ ) or n < 1:
												return False

						# Init a "histogram" of the digits
						snake_case_     =			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
						snake_case_     =			0
						snake_case_     =			0
						snake_case_     =			n
						while temp > 0:
												snake_case_,					snake_case_     =			divmod(SCREAMING_SNAKE_CASE__						,	10 )
												digit_histogram[rem] += 1
												digit_total += 1

						for cnt, i in zip(SCREAMING_SNAKE_CASE__						,	range(len(SCREAMING_SNAKE_CASE__ ) ) ):
												total += cnt * i**digit_total

						return n == total


def 						__SCREAMING_SNAKE_CASE      (SCREAMING_SNAKE_CASE__ ):
						if not isinstance(SCREAMING_SNAKE_CASE__						,	SCREAMING_SNAKE_CASE__ ) or n < 1:
												return False
						snake_case_     =			len(str(SCREAMING_SNAKE_CASE__ ) )  # the power that all digits will be raised to
						# check if sum of each digit multiplied expo times is equal to number
						return n == sum(int(SCREAMING_SNAKE_CASE__ ) ** expo for i in str(SCREAMING_SNAKE_CASE__ ) )


def 						__SCREAMING_SNAKE_CASE      ():
						snake_case_     =			int(input('''Enter an integer to see if it is an Armstrong number: ''' ).strip() )
						print(F'''{num} is {'' if armstrong_number(SCREAMING_SNAKE_CASE__ ) else 'not '}an Armstrong number.''' )
						print(F'''{num} is {'' if narcissistic_number(SCREAMING_SNAKE_CASE__ ) else 'not '}an Armstrong number.''' )
						print(F'''{num} is {'' if pluperfect_number(SCREAMING_SNAKE_CASE__ ) else 'not '}an Armstrong number.''' )


if __name__ == "__main__":
					import doctest

					doctest.testmod()
					main()