




'''simple docstring'''


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


_lowercase  =			logging.get_logger(__name__)

_lowercase  =			{
    """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 						a_				(			UpperCAmelCase__						):
	lowercase_       :     str			  =      '''gpt_neox'''




	def __init__(       self     :  Dict       ,		__lowerCAmelCase     :  int=5_0_4_3_2       ,		__lowerCAmelCase     :  Optional[int]=6_1_4_4       ,		__lowerCAmelCase     :  List[Any]=4_4       ,		__lowerCAmelCase     :  Optional[Any]=6_4       ,		__lowerCAmelCase     :  Optional[Any]=2_4_5_7_6       ,		__lowerCAmelCase     :  Union[str, Any]="gelu"       ,		__lowerCAmelCase     :  List[Any]=0.25       ,		__lowerCAmelCase     :  int=1_0_0_0_0       ,		__lowerCAmelCase     :  List[str]=0.0       ,		__lowerCAmelCase     :  Optional[int]=0.0       ,		__lowerCAmelCase     :  Optional[Any]=0.1       ,		__lowerCAmelCase     :  Optional[int]=2_0_4_8       ,		__lowerCAmelCase     :  List[Any]=0.02       ,		__lowerCAmelCase     :  List[Any]=1E-5       ,		__lowerCAmelCase     :  int=True       ,		__lowerCAmelCase     :  Any=0       ,		__lowerCAmelCase     :  Dict=2       ,		__lowerCAmelCase     :  str=False       ,		__lowerCAmelCase     :  Optional[Any]=True       ,		__lowerCAmelCase     :  Dict=None       ,		**__lowerCAmelCase     :  str       ,		):
							super().__init__(bos_token_id=__lowerCAmelCase       ,		eos_token_id=__lowerCAmelCase       ,		**__lowerCAmelCase      )
							__snake_case						 =   vocab_size
							__snake_case						 =   max_position_embeddings
							__snake_case						 =   hidden_size
							__snake_case						 =   num_hidden_layers
							__snake_case						 =   num_attention_heads
							__snake_case						 =   intermediate_size
							__snake_case						 =   hidden_act
							__snake_case						 =   rotary_pct
							__snake_case						 =   rotary_emb_base
							__snake_case						 =   attention_dropout
							__snake_case						 =   hidden_dropout
							__snake_case						 =   classifier_dropout
							__snake_case						 =   initializer_range
							__snake_case						 =   layer_norm_eps
							__snake_case						 =   use_cache
							__snake_case						 =   tie_word_embeddings
							__snake_case						 =   use_parallel_residual
							__snake_case						 =   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   lowercase__   (       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}'      )
							__snake_case						 =   self.rope_scaling.get('type'       ,		__lowerCAmelCase      )
							__snake_case						 =   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 						lowerCamelCase__   (				a							):
						if not all(x.isalpha() for x in string							):
												raise ValueError('String must only contain alphabetic characters.'							)

						__snake_case						 =   sorted(string.lower()							)
						return len(a							) == len(set(a							)							)


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

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

