



"""simple docstring"""







from functools import lru_cache

def       _lowerCamelCase				(							UpperCAmelCase_ :       int     )	-> set:






	"""simple docstring"""





	A__											=					2
	A__											=					set()
	while i * i <= n:
		if n % i:
			i += 1
		else:
			n //= i
			factors.add(UpperCAmelCase_     )
	if n > 1:
		factors.add(UpperCAmelCase_     )
	return factors

@lru_cache
def       _lowerCamelCase				(							UpperCAmelCase_ :       int     )	-> int:






	"""simple docstring"""





	return len(unique_prime_factors(UpperCAmelCase_     )     )

def       _lowerCamelCase				(							UpperCAmelCase_ :       list     )	-> bool:






	"""simple docstring"""





	return len(set(UpperCAmelCase_     )     ) in (0, 1)

def       _lowerCamelCase				(							UpperCAmelCase_ :       int     )	-> list:






	"""simple docstring"""





	A__											=					2

	while True:
		# Increment each value of a generated range
		A__											=					[base + i for i in range(UpperCAmelCase_     )]

		# Run elements through out unique_prime_factors function
		# Append our target number to the end.
		A__											=					[upf_len(UpperCAmelCase_     ) for x in group]
		checker.append(UpperCAmelCase_     )

		# If all numbers in the list are equal, return the group variable.
		if equality(UpperCAmelCase_     ):
			return group

		# Increment our base variable by 1
		base += 1

def       _lowerCamelCase				(							UpperCAmelCase_ :       int = 4     )	-> int:






	"""simple docstring"""





	A__											=					run(UpperCAmelCase_     )
	return results[0] if len(UpperCAmelCase_     ) else None


if __name__ == "__main__":
			print(solution())








UpperCAmelCase   :    Any     =		[0, 2, 4, 6, 8]
UpperCAmelCase   :    Optional[Any]     =		[1, 3, 5, 7, 9]






def 	__lowerCamelCase						(							lowerCamelCase__		:						int  ,							lowerCamelCase__		:						int  ,							lowerCamelCase__		:						list[int]  ,							lowerCamelCase__		:						int      ):





			'''simple docstring'''




			if remaining_length == 0:
						if digits[0] == 0 or digits[-1] == 0:
									return 0

						for i in range(length // 2 - 1  ,							-1  ,							-1      ):
									remainder += digits[i] + digits[length - i - 1]

									if remainder % 2 == 0:
												return 0

									remainder //= 10

						return 1

			if remaining_length == 1:
						if remainder % 2 == 0:
									return 0

						lowerCamelCase    		=  0
						for digit in range(10      ):
									lowerCamelCase    		=  digit
									result += reversible_numbers(
									    0  ,							(remainder + 2 * digit) // 10  ,							lowerCamelCase__  ,							lowerCamelCase__      )
						return result

			lowerCamelCase    		=  0
			for digita in range(10      ):
						lowerCamelCase    		=  digita

						if (remainder + digita) % 2 == 0:
									lowerCamelCase    		=  ODD_DIGITS
						else:
									lowerCamelCase    		=  EVEN_DIGITS

						for digita in other_parity_digits:
									lowerCamelCase    		=  digita
									result += reversible_numbers(
									    remaining_length - 2  ,							(remainder + digita + digita) // 10  ,							lowerCamelCase__  ,							lowerCamelCase__  ,							)
			return result






def 	__lowerCamelCase						(							lowerCamelCase__		:						int = 9      ):





			'''simple docstring'''




			lowerCamelCase    		=  0
			for length in range(1  ,							max_power + 1      ):
						result += reversible_numbers(lowerCamelCase__  ,							0  ,							[0] * length  ,							lowerCamelCase__      )
			return result


if __name__ == "__main__":
		print(f"""{solution() = }""")

