



'''simple docstring'''

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


snake_case_			=     logging.get_logger(__name__)

snake_case_			=     {
    """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__     (				_lowercase	):
	__magic_name__		:    Dict	    =     "gpt_neox"


	def __init__(self : Any,					__UpperCAmelCase : Dict=50432,					__UpperCAmelCase : Union[str, Any]=6144,					__UpperCAmelCase : int=44,					__UpperCAmelCase : Optional[int]=64,					__UpperCAmelCase : int=24576,					__UpperCAmelCase : List[Any]="gelu",					__UpperCAmelCase : Tuple=0.25,					__UpperCAmelCase : Any=10000,					__UpperCAmelCase : List[Any]=0.0,					__UpperCAmelCase : Any=0.0,					__UpperCAmelCase : str=0.1,					__UpperCAmelCase : List[Any]=2048,					__UpperCAmelCase : int=0.02,					__UpperCAmelCase : str=1e-5,					__UpperCAmelCase : List[Any]=True,					__UpperCAmelCase : int=0,					__UpperCAmelCase : int=2,					__UpperCAmelCase : Union[str, Any]=False,					__UpperCAmelCase : int=True,					__UpperCAmelCase : Any=None,					**__UpperCAmelCase : List[Any],					)     ->			Optional[Any]:

					"""simple docstring"""

					super().__init__(bos_token_id=__UpperCAmelCase,					eos_token_id=__UpperCAmelCase,					**__UpperCAmelCase      )
					SCREAMING_SNAKE_CASE  :						Dict      					= vocab_size
					SCREAMING_SNAKE_CASE  :						List[str]      					= max_position_embeddings
					SCREAMING_SNAKE_CASE  :						List[Any]      					= hidden_size
					SCREAMING_SNAKE_CASE  :						Tuple      					= num_hidden_layers
					SCREAMING_SNAKE_CASE  :						Dict      					= num_attention_heads
					SCREAMING_SNAKE_CASE  :						int      					= intermediate_size
					SCREAMING_SNAKE_CASE  :						List[str]      					= hidden_act
					SCREAMING_SNAKE_CASE  :						List[str]      					= rotary_pct
					SCREAMING_SNAKE_CASE  :						Optional[Any]      					= rotary_emb_base
					SCREAMING_SNAKE_CASE  :						str      					= attention_dropout
					SCREAMING_SNAKE_CASE  :						Optional[int]      					= hidden_dropout
					SCREAMING_SNAKE_CASE  :						List[Any]      					= classifier_dropout
					SCREAMING_SNAKE_CASE  :						int      					= initializer_range
					SCREAMING_SNAKE_CASE  :						Tuple      					= layer_norm_eps
					SCREAMING_SNAKE_CASE  :						List[Any]      					= use_cache
					SCREAMING_SNAKE_CASE  :						Any      					= tie_word_embeddings
					SCREAMING_SNAKE_CASE  :						Union[str, Any]      					= use_parallel_residual
					SCREAMING_SNAKE_CASE  :						List[str]      					= 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 : Optional[int]      )     ->			str:

					"""simple docstring"""

					if self.rope_scaling is None:
									return

					if not isinstance(self.rope_scaling,					__UpperCAmelCase      ) 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}'''      )
					SCREAMING_SNAKE_CASE  :						Dict      					= self.rope_scaling.get('''type''',					__UpperCAmelCase      )
					SCREAMING_SNAKE_CASE  :						Any      					= self.rope_scaling.get('''factor''',					__UpperCAmelCase      )
					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(__UpperCAmelCase,					__UpperCAmelCase      ) 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       __lowercase  (_SCREAMING_SNAKE_CASE      :int       ):
				SCREAMING_SNAKE_CASE  :						Tuple      					= 1
				for i in range(1    ,	num + 1       ):
								fact *= i
				return fact






def       __lowercase  (_SCREAMING_SNAKE_CASE      :int       ):
				SCREAMING_SNAKE_CASE  :						List[Any]      					= 0
				while number > 0:
								SCREAMING_SNAKE_CASE  :						List[str]      					= number % 10
								sum_of_digits += last_digit
								SCREAMING_SNAKE_CASE  :						List[str]      					= number // 10  # Removing the last_digit from the given number
				return sum_of_digits






def       __lowercase  (_SCREAMING_SNAKE_CASE      :int = 1_00       ):
				SCREAMING_SNAKE_CASE  :						List[Any]      					= factorial(_SCREAMING_SNAKE_CASE       )
				SCREAMING_SNAKE_CASE  :						List[str]      					= split_and_add(_SCREAMING_SNAKE_CASE       )
				return result


if __name__ == "__main__":
	print(solution(int(input("""Enter the Number: """).strip())))




