



'''simple docstring'''

def 						__UpperCamelCase				(							_lowercase = 6008_5147_5143					) ->			int:

	try:
		_lowercase					:       Optional[int]       =		int(__UpperCamelCase					)
	except (TypeError, ValueError):
		raise TypeError('Parameter n must be int or castable to int.'					)
	if n <= 0:
		raise ValueError('Parameter n must be greater than or equal to one.'					)
	_lowercase					:       Optional[int]       =		1
	_lowercase					:       List[Any]       =		2
	while i * i <= n:
		while n % i == 0:
			_lowercase					:       Optional[Any]       =		i
			n //= i
		i += 1
	if n > 1:
		_lowercase					:       List[str]       =		n
	return int(__UpperCamelCase					)


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





'''simple docstring'''

def 						__UpperCamelCase				(							_lowercase					) ->			bool:
	return str(_lowercase					) == str(_lowercase					)[::-1]







def 						__UpperCamelCase				(							_lowercase					) ->			int:
	return int(_lowercase					) + int(str(_lowercase					)[::-1]					)







def 						__UpperCamelCase				(							_lowercase = 1_0000					) ->			int:
	_lowercase					:       List[str]       =		[]
	for num in range(1,				_lowercase					):
		_lowercase					:       Tuple       =		0
		_lowercase					:       Tuple       =		num
		while iterations < 50:
			_lowercase					:       Union[str, Any]       =		sum_reverse(_lowercase					)
			iterations += 1
			if is_palindrome(_lowercase					):
				break
		else:
			lychrel_nums.append(_lowercase					)
	return len(_lowercase					)


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