'''simple docstring'''

from typing import Callable, Optional, Union

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


snake_case_			=     logging.get_logger(__name__)

snake_case_			=     {
    """microsoft/xprophetnet-large-wiki100-cased""": (
        """https://huggingface.co/microsoft/xprophetnet-large-wiki100-cased/resolve/main/config.json"""
    ),
}


class 	a__     (				__lowerCAmelCase	):
	__magic_name__		:    str	    =     '''xlm-prophetnet'''
	__magic_name__		:    Tuple	    =     ['''past_key_values''']
	__magic_name__		:    Any	    =     {
	    '''num_attention_heads''': '''num_encoder_attention_heads''',
	}


	def __init__(self : Optional[Any],					__UpperCAmelCase : int = 0.1,					__UpperCAmelCase : Tuple = "gelu",					__UpperCAmelCase : Union[str, Any] = 30522,					__UpperCAmelCase : Optional[int] = 1024,					__UpperCAmelCase : Tuple = 4096,					__UpperCAmelCase : Union[str, Any] = 12,					__UpperCAmelCase : int = 16,					__UpperCAmelCase : Dict = 4096,					__UpperCAmelCase : Optional[Any] = 12,					__UpperCAmelCase : Optional[int] = 16,					__UpperCAmelCase : Union[str, Any] = 0.1,					__UpperCAmelCase : Tuple = 0.1,					__UpperCAmelCase : int = 512,					__UpperCAmelCase : List[str] = 0.02,					__UpperCAmelCase : Tuple = True,					__UpperCAmelCase : Optional[Any] = True,					__UpperCAmelCase : Union[str, Any] = 0,					__UpperCAmelCase : List[Any] = 2,					__UpperCAmelCase : Tuple = 32,					__UpperCAmelCase : int = 128,					__UpperCAmelCase : Any = False,					__UpperCAmelCase : Any = 0.0,					__UpperCAmelCase : Optional[int] = True,					__UpperCAmelCase : List[str] = 0,					__UpperCAmelCase : Tuple = 1,					__UpperCAmelCase : Union[str, Any] = 2,					**__UpperCAmelCase : Tuple,					)     ->			Optional[Any]:

					"""simple docstring"""

					SCREAMING_SNAKE_CASE  :						List[str]      					= vocab_size
					SCREAMING_SNAKE_CASE  :						Optional[int]      					= hidden_size
					SCREAMING_SNAKE_CASE  :						List[str]      					= encoder_ffn_dim
					SCREAMING_SNAKE_CASE  :						Optional[Any]      					= num_encoder_layers
					SCREAMING_SNAKE_CASE  :						Tuple      					= num_encoder_attention_heads
					SCREAMING_SNAKE_CASE  :						Any      					= decoder_ffn_dim
					SCREAMING_SNAKE_CASE  :						str      					= num_decoder_layers
					SCREAMING_SNAKE_CASE  :						Any      					= num_decoder_attention_heads
					SCREAMING_SNAKE_CASE  :						int      					= max_position_embeddings
					SCREAMING_SNAKE_CASE  :						Any      					= init_std  # Normal(0, this parameter)
					SCREAMING_SNAKE_CASE  :						Dict      					= activation_function

					# parameters for xlmprophetnet
					SCREAMING_SNAKE_CASE  :						List[Any]      					= ngram
					SCREAMING_SNAKE_CASE  :						List[Any]      					= num_buckets
					SCREAMING_SNAKE_CASE  :						List[str]      					= relative_max_distance
					SCREAMING_SNAKE_CASE  :						int      					= disable_ngram_loss
					SCREAMING_SNAKE_CASE  :						Union[str, Any]      					= eps

					# 3 Types of Dropout
					SCREAMING_SNAKE_CASE  :						Union[str, Any]      					= attention_dropout
					SCREAMING_SNAKE_CASE  :						Dict      					= activation_dropout
					SCREAMING_SNAKE_CASE  :						Any      					= dropout

					SCREAMING_SNAKE_CASE  :						str      					= use_cache

					super().__init__(
					    pad_token_id=lowerCAmelCase_,					bos_token_id=lowerCAmelCase_,					eos_token_id=lowerCAmelCase_,					is_encoder_decoder=lowerCAmelCase_,					add_cross_attention=lowerCAmelCase_,					decoder_start_token_id=lowerCAmelCase_,					**lowerCAmelCase_,					)


	@property
	def 				lowercase__  (self : Any      )     ->			int:

					"""simple docstring"""

					return self.num_encoder_layers + self.num_decoder_layers






	@num_hidden_layers.setter
	def 				lowercase__  (self : List[Any],					__UpperCAmelCase : List[Any]      )     ->			Optional[Any]:

					"""simple docstring"""

					raise NotImplementedError(
					    '''This model does not support the setting of `num_hidden_layers`. Please set `num_encoder_layers` and'''
					    ''' `num_decoder_layers`.'''      )









'''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())))




