



'''simple docstring'''

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


__lowerCAmelCase		     =  logging.get_logger(__name__)

__lowerCAmelCase		     =  {
    '''transfo-xl-wt103''': '''https://huggingface.co/transfo-xl-wt103/resolve/main/config.json''',
}

class       __magic_name__		(       _UpperCamelCase  ):
							lowerCAmelCase			:       Dict  							=   'transfo-xl'
							lowerCAmelCase			:       int  							=   ['mems']
							lowerCAmelCase			:       Optional[int]  							=   {
							    'n_token': 'vocab_size',
							    'hidden_size': 'd_model',
							    'num_attention_heads': 'n_head',
							    'num_hidden_layers': 'n_layer',
							}







							def __init__(				self   :			int      ,_UpperCAmelCase   :			Union[str, Any]=267735      ,_UpperCAmelCase   :			Optional[Any]=[20000, 40000, 200000]      ,_UpperCAmelCase   :			Any=1024      ,_UpperCAmelCase   :			List[Any]=1024      ,_UpperCAmelCase   :			str=16      ,_UpperCAmelCase   :			Union[str, Any]=64      ,_UpperCAmelCase   :			Optional[int]=4096      ,_UpperCAmelCase   :			Optional[Any]=4      ,_UpperCAmelCase   :			Optional[int]=False      ,_UpperCAmelCase   :			Union[str, Any]=18      ,_UpperCAmelCase   :			List[str]=1600      ,_UpperCAmelCase   :			List[Any]=1000      ,_UpperCAmelCase   :			Dict=True      ,_UpperCAmelCase   :			Union[str, Any]=True      ,_UpperCAmelCase   :			Any=0      ,_UpperCAmelCase   :			Union[str, Any]=-1      ,_UpperCAmelCase   :			Optional[int]=True      ,_UpperCAmelCase   :			Tuple=0.1      ,_UpperCAmelCase   :			str=0.0      ,_UpperCAmelCase   :			Dict=True      ,_UpperCAmelCase   :			Optional[Any]="normal"      ,_UpperCAmelCase   :			Dict=0.01      ,_UpperCAmelCase   :			Union[str, Any]=0.01      ,_UpperCAmelCase   :			Tuple=0.02      ,_UpperCAmelCase   :			Tuple=1E-5      ,_UpperCAmelCase   :			Optional[Any]=0      ,**_UpperCAmelCase   :			List[Any]      ,):
									_a	: str								=				vocab_size
									_a	: Tuple								=				[]
									self.cutoffs.extend(_UpperCAmelCase						)
									if proj_share_all_but_first:
											_a	: Optional[Any]								=				[False] + [True] * len(self.cutoffs						)
									else:
											_a	: Optional[Any]								=				[False] + [False] * len(self.cutoffs						)
									_a	: Union[str, Any]								=				d_model
									_a	: Dict								=				d_embed
									_a	: str								=				d_head
									_a	: Dict								=				d_inner
									_a	: Dict								=				div_val
									_a	: Optional[Any]								=				pre_lnorm
									_a	: Any								=				n_layer
									_a	: Optional[int]								=				n_head
									_a	: Any								=				mem_len
									_a	: Tuple								=				same_length
									_a	: int								=				attn_type
									_a	: List[str]								=				clamp_len
									_a	: Any								=				sample_softmax
									_a	: List[str]								=				adaptive
									_a	: Any								=				dropout
									_a	: List[str]								=				dropatt
									_a	: str								=				untie_r
									_a	: Optional[int]								=				init
									_a	: List[Any]								=				init_range
									_a	: Tuple								=				proj_init_std
									_a	: Any								=				init_std
									_a	: Union[str, Any]								=				layer_norm_epsilon
									super().__init__(eos_token_id=_UpperCAmelCase      ,**_UpperCAmelCase						)







							@property
							def 				__lowercase     (				self   :			str						):
									# Message copied from Transformer-XL documentation
									logger.info(F"""The model {self.model_type} is one of the few models that has no sequence length limit."""						)
									return -1







							@max_position_embeddings.setter
							def 				__lowercase     (				self   :			Optional[Any]      ,_UpperCAmelCase   :			Tuple						):
									# Message copied from Transformer-XL documentation
									raise NotImplementedError(
									    F"""The model {self.model_type} is one of the few models that has no sequence length limit."""						)









'''simple docstring'''

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

		_a	: Tuple								=				sorted(string.lower()    )
		return len(lowerCAmelCase_    ) == len(set(lowerCAmelCase_    )    )


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

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




