






def 				__lowerCamelCase     (							__lowerCAmelCase							:					str					,							__lowerCAmelCase							:					bool = False							)     ->  str:

   if not isinstance(__lowerCAmelCase					,							__lowerCAmelCase							):
      __UpperCamelCase	:			Optional[Any]					=					f'Expected string as input, found {type(__lowerCAmelCase							)}'
      raise ValueError(__lowerCAmelCase							)
   if not isinstance(__lowerCAmelCase					,							__lowerCAmelCase							):
      __UpperCamelCase	:			str					=					f'Expected boolean as use_pascal parameter, found {type(__lowerCAmelCase							)}'
      raise ValueError(__lowerCAmelCase							)

   __UpperCamelCase	:			Optional[Any]					=					input_str.split("""_"""							)

   __UpperCamelCase	:			Any					=					0 if use_pascal else 1

   __UpperCamelCase	:			List[Any]					=					words[start_index:]

   __UpperCamelCase	:			List[Any]					=					[word[0].upper() + word[1:] for word in words_to_capitalize]

   __UpperCamelCase	:			Optional[Any]					=					"""""" if use_pascal else words[0]

   return "".join([initial_word, *capitalized_words]							)


if __name__ == "__main__":
       from doctest import testmod

       testmod()











def 				__lowerCamelCase     (							__lowerCAmelCase							:					str							)     ->  bool:
   if not all(x.isalpha() for x in string							):
      raise ValueError("""String must only contain alphabetic characters."""							)

   __UpperCamelCase	:			List[str]					=					sorted(string.lower()							)
   return len(__lowerCAmelCase							) == len(set(__lowerCAmelCase							)							)


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

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



