


a : Dict		=				[0, 2, 4, 6, 8]
a : str		=				[1, 3, 5, 7, 9]


def 		lowercase_  (     _UpperCamelCase       ,			_UpperCamelCase       ,			_UpperCamelCase       ,			_UpperCamelCase  ):


			'''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

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

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

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

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


def 		lowercase_  (     _UpperCamelCase = 9  ):


			'''simple docstring'''







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


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






import unittest

from knapsack import knapsack as k
class 	lowerCamelCase_       (				unittest.TestCase				):



					'''simple docstring'''







					def A      (				self						)   ->			Optional[Any]:







								'''simple docstring'''

								__lowercase 					=   0
								__lowercase 					=   [0]
								__lowercase 					=   [0]
								__lowercase 					=   len(snake_case_						)
								self.assertEqual(k.knapsack(snake_case_ ,       snake_case_ ,       snake_case_ ,       snake_case_						) ,       0						)

								__lowercase 					=   [6_0]
								__lowercase 					=   [1_0]
								__lowercase 					=   len(snake_case_						)
								self.assertEqual(k.knapsack(snake_case_ ,       snake_case_ ,       snake_case_ ,       snake_case_						) ,       0						)






					def A      (				self						)   ->			Tuple:







								'''simple docstring'''

								__lowercase 					=   3
								__lowercase 					=   [1, 2, 3]
								__lowercase 					=   [3, 2, 1]
								__lowercase 					=   len(snake_case_						)
								self.assertEqual(k.knapsack(snake_case_ ,       snake_case_ ,       snake_case_ ,       snake_case_						) ,       5						)






					def A      (				self						)   ->			str:







								'''simple docstring'''

								__lowercase 					=   5_0
								__lowercase 					=   [6_0, 1_0_0, 1_2_0]
								__lowercase 					=   [1_0, 2_0, 3_0]
								__lowercase 					=   len(snake_case_						)
								self.assertEqual(k.knapsack(snake_case_ ,       snake_case_ ,       snake_case_ ,       snake_case_						) ,       2_2_0						)


if __name__ == "__main__":
	unittest.main()


