


__magic_name__       					=      {
    '0': 1,
    '1': 1,
    '2': 2,
    '3': 6,
    '4': 2_4,
    '5': 1_2_0,
    '6': 7_2_0,
    '7': 5_0_4_0,
    '8': 4_0_3_2_0,
    '9': 3_6_2_8_8_0,
}

__magic_name__       					=      {1_4_5: 1_4_5}

__magic_name__       					=      {
    1_4_5: 0,
    1_6_9: 3,
    3_6_3_0_1: 3,
    1_4_5_4: 3,
    8_7_1: 2,
    4_5_3_6_1: 2,
    8_7_2: 2,
}







def     __magic_name__  (      lowerCAmelCase_):
	'''simple docstring'''


	if n in CACHE_SUM_DIGIT_FACTORIALS:
		return CACHE_SUM_DIGIT_FACTORIALS[n]
	lowerCamelCase_			:							Tuple      =       sum(DIGIT_FACTORIALS[let] for let in str(lowerCAmelCase_))
	lowerCamelCase_			:							str      =       ret
	return ret







def     __magic_name__  (      lowerCAmelCase_      ,					lowerCAmelCase_ = None):
	'''simple docstring'''


	lowerCamelCase_			:							str      =       previous or set()
	if n in CHAIN_LENGTH_CACHE:
		return CHAIN_LENGTH_CACHE[n]
	lowerCamelCase_			:							int      =       sum_digit_factorials(lowerCAmelCase_)
	if next_number in previous:
		lowerCamelCase_			:							List[str]      =       0
		return 0
	else:
		previous.add(lowerCAmelCase_)
		lowerCamelCase_			:							Optional[Any]      =       1 + chain_length(lowerCAmelCase_      ,					lowerCAmelCase_)
		lowerCamelCase_			:							Optional[int]      =       ret
		return ret







def     __magic_name__  (      lowerCAmelCase_ = 60      ,					lowerCAmelCase_ = 100_0000):
	'''simple docstring'''


	return sum(1 for i in range(1      ,					lowerCAmelCase_) if chain_length(lowerCAmelCase_) == num_terms)


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





from ..utils import DummyObject, requires_backends





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[int]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Optional[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Tuple  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Union[str, Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[Any]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Any  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		int  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		Dict  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		List[str]  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )





class    lowerCAmelCase__				(			metaclass=__lowerCamelCase       ):






						"""simple docstring"""
						__UpperCAmelCase   :		str  					=	['''tokenizers''']




						def __init__(   self				,							*a_				,							**a_     ):
							requires_backends(self				,							["tokenizers"]     )

