




import copy
import os
from typing import Union

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


_lowerCamelCase			:	List[Any]							 =     logging.get_logger(__name__)

_lowerCamelCase			:	str							 =     {
    """microsoft/git-base""": """https://huggingface.co/microsoft/git-base/resolve/main/config.json""",
}


class        UpperCamelCase_					(				UpperCAmelCase__  ):

    '''simple docstring'''






    UpperCAmelCase__													=   '''git_vision_model'''


    def __init__(    self   :			str      ,				UpperCAmelCase__   :			Optional[int]=768      ,				UpperCAmelCase__   :			Optional[int]=3_072      ,				UpperCAmelCase__   :			Tuple=12      ,				UpperCAmelCase__   :			Optional[Any]=12      ,				UpperCAmelCase__   :			Optional[Any]=3      ,				UpperCAmelCase__   :			Optional[int]=224      ,				UpperCAmelCase__   :			int=16      ,				UpperCAmelCase__   :			List[str]="quick_gelu"      ,				UpperCAmelCase__   :			List[str]=1e-5      ,				UpperCAmelCase__   :			int=0.0      ,				UpperCAmelCase__   :			str=0.02      ,				**UpperCAmelCase__   :			List[Any]      ,				)		->Optional[int]:





           '''simple docstring'''

           super().__init__(**UpperCAmelCase__)

           A__   				=					hidden_size
           A__   				=					intermediate_size
           A__   				=					num_hidden_layers
           A__   				=					num_attention_heads
           A__   				=					num_channels
           A__   				=					patch_size
           A__   				=					image_size
           A__   				=					initializer_range
           A__   				=					attention_dropout
           A__   				=					layer_norm_eps
           A__   				=					hidden_act





    @classmethod
    def  SCREAMING_SNAKE_CASE							(    cls   :			Tuple      ,				UpperCAmelCase__   :			Union[str, os.PathLike]      ,				**UpperCAmelCase__   :			str)		->"PretrainedConfig":





           '''simple docstring'''

           cls._set_token_in_kwargs(UpperCAmelCase__)

           A__				,							A__   				=					cls.get_config_dict(UpperCAmelCase__      ,				**UpperCAmelCase__)

           # get the vision config dict if we are loading from GITConfig
           if config_dict.get('''model_type''') == "git":
                  A__   				=					config_dict['''vision_config''']

           if "model_type" in config_dict and hasattr(cls      ,				'''model_type''') and config_dict["model_type"] != cls.model_type:
                  logger.warning(
                      f"""You are using a model of type {config_dict["model_type"]} to instantiate a model of type """
                      f"""{cls.model_type}. This is not supported for all configurations of models and can yield errors.""")

           return cls.from_dict(UpperCAmelCase__      ,				**UpperCAmelCase__)


class        UpperCamelCase_					(				UpperCAmelCase__  ):

    '''simple docstring'''






    UpperCAmelCase__													=   '''git'''


    def __init__(    self   :			Any      ,				UpperCAmelCase__   :			List[str]=None      ,				UpperCAmelCase__   :			int=30_522      ,				UpperCAmelCase__   :			Optional[Any]=768      ,				UpperCAmelCase__   :			Optional[Any]=6      ,				UpperCAmelCase__   :			Dict=12      ,				UpperCAmelCase__   :			int=3_072      ,				UpperCAmelCase__   :			List[str]="gelu"      ,				UpperCAmelCase__   :			Optional[Any]=0.1      ,				UpperCAmelCase__   :			Union[str, Any]=0.1      ,				UpperCAmelCase__   :			str=1_024      ,				UpperCAmelCase__   :			List[str]=0.02      ,				UpperCAmelCase__   :			List[Any]=1e-12      ,				UpperCAmelCase__   :			Optional[Any]=0      ,				UpperCAmelCase__   :			Dict="absolute"      ,				UpperCAmelCase__   :			Optional[Any]=True      ,				UpperCAmelCase__   :			List[Any]=False      ,				UpperCAmelCase__   :			Dict=101      ,				UpperCAmelCase__   :			List[str]=102      ,				UpperCAmelCase__   :			int=None      ,				**UpperCAmelCase__   :			Dict      ,				)		->Optional[int]:





           '''simple docstring'''

           super().__init__(bos_token_id=UpperCAmelCase__      ,				eos_token_id=UpperCAmelCase__      ,				pad_token_id=UpperCAmelCase__      ,				**UpperCAmelCase__)

           if vision_config is None:
                  A__   				=					{}
                  logger.info('''vision_config is None. initializing the GitVisionConfig with default values.''')

           A__   				=					GitVisionConfig(**UpperCAmelCase__)
           A__   				=					vocab_size
           A__   				=					hidden_size
           A__   				=					num_hidden_layers
           A__   				=					num_attention_heads
           A__   				=					hidden_act
           A__   				=					intermediate_size
           A__   				=					hidden_dropout_prob
           A__   				=					attention_probs_dropout_prob
           A__   				=					max_position_embeddings
           A__   				=					initializer_range
           A__   				=					layer_norm_eps
           A__   				=					position_embedding_type
           A__   				=					use_cache
           A__   				=					tie_word_embeddings
           A__   				=					num_image_with_embedding

           A__   				=					bos_token_id
           A__   				=					eos_token_id





    def  SCREAMING_SNAKE_CASE							(    self   :			Tuple)		->Tuple:





           '''simple docstring'''

           A__   				=					copy.deepcopy(self.__dict__)
           A__   				=					self.vision_config.to_dict()
           A__   				=					self.__class__.model_type
           return output








def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					1
       for i in range(1				,       num + 1		):
              fact *= i
       return fact







def SCREAMING_SNAKE_CASE       ( lowercase_		)     -> int:



       """simple docstring"""

       A__   				=					0
       while number > 0:
              A__   				=					number % 10
              sum_of_digits += last_digit
              A__   				=					number // 10  # Removing the last_digit from the given number
       return sum_of_digits







def SCREAMING_SNAKE_CASE       ( lowercase_ = 100		)     -> int:



       """simple docstring"""

       A__   				=					factorial(lowercase_		)
       A__   				=					split_and_add(lowercase_		)
       return result


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


