'''simple docstring'''

from ...configuration_utils import PretrainedConfig
from ...utils import logging


__a:			Optional[int]	       =       logging.get_logger(__name__)

__a:			Optional[Any]	       =       {
    """EleutherAI/gpt-neox-20b""": """https://huggingface.co/EleutherAI/gpt-neox-20b/resolve/main/config.json""",
    # See all GPTNeoX models at https://huggingface.co/models?filter=gpt_neox
}



class       UpperCAmelCase  (						a__ ):





       '''simple docstring'''



       SCREAMING_SNAKE_CASE 		=   "gpt_neox"

       def __init__(						self     ,       __lowerCAmelCase=50432     ,       __lowerCAmelCase=6144     ,       __lowerCAmelCase=44     ,       __lowerCAmelCase=64     ,       __lowerCAmelCase=24576     ,       __lowerCAmelCase="gelu"     ,       __lowerCAmelCase=0.2_5     ,       __lowerCAmelCase=10000     ,       __lowerCAmelCase=0.0     ,       __lowerCAmelCase=0.0     ,       __lowerCAmelCase=0.1     ,       __lowerCAmelCase=2048     ,       __lowerCAmelCase=0.0_2     ,       __lowerCAmelCase=1E-5     ,       __lowerCAmelCase=True     ,       __lowerCAmelCase=0     ,       __lowerCAmelCase=2     ,       __lowerCAmelCase=False     ,       __lowerCAmelCase=True     ,       __lowerCAmelCase=None     ,       **__lowerCAmelCase     ,       )  ->  Union[str, Any]:
        super().__init__(bos_token_id=__lowerCAmelCase     ,       eos_token_id=__lowerCAmelCase     ,       **__lowerCAmelCase			)
        lowercase__    :   Optional[int]						= vocab_size
        lowercase__    :   List[Any]						= max_position_embeddings
        lowercase__    :   Dict						= hidden_size
        lowercase__    :   Any						= num_hidden_layers
        lowercase__    :   Union[str, Any]						= num_attention_heads
        lowercase__    :   Any						= intermediate_size
        lowercase__    :   Tuple						= hidden_act
        lowercase__    :   Dict						= rotary_pct
        lowercase__    :   Optional[int]						= rotary_emb_base
        lowercase__    :   Dict						= attention_dropout
        lowercase__    :   Optional[int]						= hidden_dropout
        lowercase__    :   str						= classifier_dropout
        lowercase__    :   Optional[int]						= initializer_range
        lowercase__    :   List[Any]						= layer_norm_eps
        lowercase__    :   Tuple						= use_cache
        lowercase__    :   Any						= tie_word_embeddings
        lowercase__    :   Any						= use_parallel_residual
        lowercase__    :   int						= rope_scaling
        self._rope_scaling_validation()

        if self.hidden_size % self.num_attention_heads != 0:
         raise ValueError(
             '''The hidden size is not divisble by the number of attention heads! Make sure to update them!'''			)


       def _lowerCAmelCase(						self			)  ->  str:
        if self.rope_scaling is None:
         return

        if not isinstance(self.rope_scaling     ,       __lowerCAmelCase			) or len(self.rope_scaling			) != 2:
         raise ValueError(
             '''`rope_scaling` must be a dictionary with with two fields, `name` and `factor`, '''
             F"""got {self.rope_scaling}"""			)
        lowercase__    :   Dict						= self.rope_scaling.get('''type'''     ,       __lowerCAmelCase			)
        lowercase__    :   int						= self.rope_scaling.get('''factor'''     ,       __lowerCAmelCase			)
        if rope_scaling_type is None or rope_scaling_type not in ["linear", "dynamic"]:
         raise ValueError(
             F"""`rope_scaling`'s name field must be one of ['linear', 'dynamic'], got {rope_scaling_type}"""			)
        if rope_scaling_factor is None or not isinstance(__lowerCAmelCase     ,       __lowerCAmelCase			) or rope_scaling_factor <= 1.0:
         raise ValueError(F"""`rope_scaling`'s factor field must be an float > 1, got {rope_scaling_factor}"""			)


'''simple docstring'''

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

 lowercase__    :   Tuple						= sorted(string.lower()					)
 return len(UpperCAmelCase					) == len(set(UpperCAmelCase					)					)


if __name__ == "__main__":
  __a:			Union[str, Any]	       =       input("""Enter a string """).strip()

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

