


"""simple docstring"""



import functools
from typing import Any






def       lowerCamelCase					(a_						:str				,				a_						:list[str])     ->							bool:

       # Validation
       if not isinstance(a_				,				a_) or len(a_) == 0:
              raise ValueError('''the string should be not empty string''')

       if not isinstance(a_				,				a_) or not all(
           isinstance(a_				,				a_) and len(a_) > 0 for item in words):
              raise ValueError('''the words should be a list of non-empty strings''')

       # Build trie
       lowercase		:dict[str, Any]       							=				{}
       lowercase		:str       							=				'''WORD_KEEPER'''

       for word in words:
              lowercase		:List[str]       							=				trie
              for c in word:
                     if c not in trie_node:
                            lowercase		:List[str]       							=				{}

                     lowercase		:Optional[Any]       							=				trie_node[c]

              lowercase		:int       							=				True

       lowercase		:Any       							=				len(a_)

       # Dynamic programming method
       @functools.cache
       def is_breakable(a_						:int) -> bool:
              if index == len_string:
                     return True

              lowercase		:List[Any]       							=				trie
              for i in range(a_				,				a_):
                     lowercase		:List[Any]       							=				trie_node.get(string[i]				,				a_)

                     if trie_node is None:
                            return False

                     if trie_node.get(a_				,				a_) and is_breakable(i + 1):
                            return True

              return False

       return is_breakable(0)


if __name__ == "__main__":
 import doctest

 doctest.testmod()





"""simple docstring"""



UpperCAmelCase      		=			{str(digit): digit**5 for digit in range(10)}






def       lowerCamelCase					(a_						:int)     ->							int:
       return sum(DIGITS_FIFTH_POWER[digit] for digit in str(a_))






def       lowerCamelCase					()     ->							int:
       return sum(
           number
           for number in range(1000				,				100_0000)
           if number == digits_fifth_powers_sum(a_))


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

