





"""simple docstring"""




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


a		:					str	      =     logging.get_logger(__name__)

a		:					Optional[int]	      =     {
    """microsoft/markuplm-base""": """https://huggingface.co/microsoft/markuplm-base/resolve/main/config.json""",
    """microsoft/markuplm-large""": """https://huggingface.co/microsoft/markuplm-large/resolve/main/config.json""",
}


class 			__UpperCamelCase							(		lowerCamelCase__		):
							lowerCamelCase  :   List[Any]    ="""markuplm"""






							def __init__(  self ,   lowerCAmelCase__=3_0522 ,   lowerCAmelCase__=768 ,   lowerCAmelCase__=12 ,   lowerCAmelCase__=12 ,   lowerCAmelCase__=3072 ,   lowerCAmelCase__="gelu" ,   lowerCAmelCase__=0.1 ,   lowerCAmelCase__=0.1 ,   lowerCAmelCase__=512 ,   lowerCAmelCase__=2 ,   lowerCAmelCase__=0.02 ,   lowerCAmelCase__=1E-12 ,   lowerCAmelCase__=0 ,   lowerCAmelCase__=0 ,   lowerCAmelCase__=2 ,   lowerCAmelCase__=256 ,   lowerCAmelCase__=1024 ,   lowerCAmelCase__=216 ,   lowerCAmelCase__=1001 ,   lowerCAmelCase__=32 ,   lowerCAmelCase__=50 ,   lowerCAmelCase__="absolute" ,   lowerCAmelCase__=True ,   lowerCAmelCase__=None ,   **lowerCAmelCase__ ,   )      ->					Optional[Any]:
								super().__init__(
								    pad_token_id=SCREAMING_SNAKE_CASE__ ,   bos_token_id=SCREAMING_SNAKE_CASE__ ,   eos_token_id=SCREAMING_SNAKE_CASE__ ,   **SCREAMING_SNAKE_CASE__ ,   )
								a :						Any      =							vocab_size
								a :						Union[str, Any]      =							hidden_size
								a :						List[Any]      =							num_hidden_layers
								a :						int      =							num_attention_heads
								a :						Tuple      =							hidden_act
								a :						str      =							intermediate_size
								a :						Optional[int]      =							hidden_dropout_prob
								a :						Any      =							attention_probs_dropout_prob
								a :						Union[str, Any]      =							max_position_embeddings
								a :						Dict      =							type_vocab_size
								a :						int      =							initializer_range
								a :						Optional[int]      =							layer_norm_eps
								a :						Any      =							position_embedding_type
								a :						Any      =							use_cache
								a :						List[str]      =							classifier_dropout
								# additional properties
								a :						Union[str, Any]      =							max_depth
								a :						Union[str, Any]      =							max_xpath_tag_unit_embeddings
								a :						Optional[Any]      =							max_xpath_subs_unit_embeddings
								a :						int      =							tag_pad_id
								a :						str      =							subs_pad_id
								a :						List[str]      =							xpath_unit_hidden_size






"""simple docstring"""






def 				A_       ( snake_case__		)					->  int:
			_UpperCamelCase					:Dict					     =	1
			for i in range(1       ,					num + 1		):
						fact *= i
			return fact





def 				A_       ( snake_case__		)					->  int:
			_UpperCamelCase					:Dict					     =	0
			while number > 0:
						_UpperCamelCase					:Tuple					     =	number % 10
						sum_of_digits += last_digit
						_UpperCamelCase					:str					     =	number // 10  # Removing the last_digit from the given number
			return sum_of_digits





def 				A_       ( snake_case__ = 1_00		)					->  int:
			_UpperCamelCase					:int					     =	factorial(snake_case__		)
			_UpperCamelCase					:Dict					     =	split_and_add(snake_case__		)
			return result


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

