"""simple docstring"""


import functools
from typing import Any







def 					UpperCAmelCase    (		UpperCAmelCase						,					UpperCAmelCase					)				->      bool:

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

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

     # Build trie
     snake_case_					       =					{}
     snake_case_					       =					'WORD_KEEPER'

     for word in words:
          snake_case_					       =					trie
          for c in word:
               if c not in trie_node:
                    snake_case_					       =					{}

               snake_case_					       =					trie_node[c]

          snake_case_					       =					True

     snake_case_					       =					len(UpperCAmelCase					)

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

          snake_case_					       =					trie
          for i in range(UpperCAmelCase						,					UpperCAmelCase					):
               snake_case_					       =					trie_node.get(string[i]						,					UpperCAmelCase					)

               if trie_node is None:
                    return False

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

          return False

     return is_breakable(0					)


if __name__ == "__main__":
    import doctest

    doctest.testmod()




def 	snake_case__			(    SCREAMING_SNAKE_CASE_		:    str			):



     '''simple docstring'''





     if not all(x.isalpha() for x in string			):
          raise ValueError('String must only contain alphabetic characters.'			)

     lowercase__    :   Optional[int]      =       sorted(string.lower()			)
     return len(SCREAMING_SNAKE_CASE_			) == len(set(SCREAMING_SNAKE_CASE_			)			)


if __name__ == "__main__":
       snake_case_			  = input('''Enter a string ''').strip()

       snake_case_			  = is_isogram(input_str)
       print(F'''{input_str} is {'an' if isogram else 'not an'} isogram.''')

