
"""simple docstring"""





from math import factorial

_a														=		{str(digit): factorial(digit) for digit in range(10)}



def 				lowerCamelCase__		(      __snake_case     )							->		str:


					"""simple docstring"""





					if not isinstance(A_,					A_     ):
										raise TypeError('''Parameter number must be int'''     )

					if number < 0:
										raise ValueError('''Parameter number must be greater than or equal to 0'''     )

					# Converts number in string to iterate on its digits and adds its factorial.
					return sum(DIGIT_FACTORIAL[digit] for digit in str(A_     )     )



def 				lowerCamelCase__		(      __snake_case = 60,					__snake_case = 1_00_00_00     )							->		List[Any]:


					"""simple docstring"""





					if not isinstance(A_,					A_     ) or not isinstance(A_,					A_     ):
										raise TypeError('''Parameters chain_length and number_limit must be int'''     )

					if chain_length <= 0 or number_limit <= 0:
										raise ValueError(
										    '''Parameters chain_length and number_limit must be greater than 0'''     )

					# the counter for the chains with the exact desired length
					_UpperCamelCase										=  0
					# the cached sizes of the previous chains
					_UpperCamelCase										=  {}

					for start_chain_element in range(1,					A_     ):
										# The temporary set will contain the elements of the chain
										_UpperCamelCase										=  set()
										_UpperCamelCase										=  0

										# Stop computing the chain when you find a cached size, a repeating item or the
										# length is greater then the desired one.
										_UpperCamelCase										=  start_chain_element
										while (
										    chain_element not in chain_sets_lengths
										    and chain_element not in chain_set
										    and chain_set_length <= chain_length
										):
															chain_set.add(A_     )
															chain_set_length += 1
															_UpperCamelCase										=  digit_factorial_sum(A_     )

										if chain_element in chain_sets_lengths:
															chain_set_length += chain_sets_lengths[chain_element]

										_UpperCamelCase										=  chain_set_length

										# If chain contains the exact amount of elements increase the counter
										if chain_set_length == chain_length:
															chains_counter += 1

					return chains_counter


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				print(F"""{solution()}""")




"""simple docstring"""





import warnings

from diffusers import StableDiffusionInpaintPipeline as StableDiffusionInpaintPipeline  # noqa F401


warnings.warn(
    """The `inpainting.py` script is outdated. Please use directly `from diffusers import"""
    """ StableDiffusionInpaintPipeline` instead."""
)






