






from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


lowerCamelCase     :							int    =logging.get_logger(__name__)

lowerCamelCase     :							int    ={
    '''shi-labs/dinat-mini-in1k-224''': '''https://huggingface.co/shi-labs/dinat-mini-in1k-224/resolve/main/config.json''',
    # See all Dinat models at https://huggingface.co/models?filter=dinat
}





class       __a  (   A__	,       A__	):
 _lowerCAmelCase	:	List[str]				=			'''dinat'''

 _lowerCAmelCase	:	Union[str, Any]				=			{
     '''num_attention_heads''': '''num_heads''',
     '''num_hidden_layers''': '''num_layers''',
 }







 def __init__(		self :       List[Any]							,       SCREAMING_SNAKE_CASE :       Any=4							,       SCREAMING_SNAKE_CASE :       Any=3							,       SCREAMING_SNAKE_CASE :       Dict=64							,       SCREAMING_SNAKE_CASE :       Any=[3, 4, 6, 5]							,       SCREAMING_SNAKE_CASE :       Optional[Any]=[2, 4, 8, 16]							,       SCREAMING_SNAKE_CASE :       int=7							,       SCREAMING_SNAKE_CASE :       int=[[1, 8, 1], [1, 4, 1, 4], [1, 2, 1, 2, 1, 2], [1, 1, 1, 1, 1]]							,       SCREAMING_SNAKE_CASE :       int=3.0							,       SCREAMING_SNAKE_CASE :       Optional[int]=True							,       SCREAMING_SNAKE_CASE :       Optional[Any]=0.0							,       SCREAMING_SNAKE_CASE :       Optional[int]=0.0							,       SCREAMING_SNAKE_CASE :       Dict=0.1							,       SCREAMING_SNAKE_CASE :       List[Any]="gelu"							,       SCREAMING_SNAKE_CASE :       Any=0.0_2							,       SCREAMING_SNAKE_CASE :       List[Any]=1e-5							,       SCREAMING_SNAKE_CASE :       int=0.0							,       SCREAMING_SNAKE_CASE :       str=None							,       SCREAMING_SNAKE_CASE :       Any=None							,       **SCREAMING_SNAKE_CASE :       Any							,       ):


      '''simple docstring'''






      super().__init__(**SCREAMING_SNAKE_CASE						)

      UpperCamelCase__      :       Optional[Any]	    =  patch_size
      UpperCamelCase__      :       Tuple	    =  num_channels
      UpperCamelCase__      :       Any	    =  embed_dim
      UpperCamelCase__      :       Any	    =  depths
      UpperCamelCase__      :       Optional[Any]	    =  len(SCREAMING_SNAKE_CASE						)
      UpperCamelCase__      :       Optional[int]	    =  num_heads
      UpperCamelCase__      :       List[str]	    =  kernel_size
      UpperCamelCase__      :       str	    =  dilations
      UpperCamelCase__      :       Any	    =  mlp_ratio
      UpperCamelCase__      :       List[str]	    =  qkv_bias
      UpperCamelCase__      :       List[Any]	    =  hidden_dropout_prob
      UpperCamelCase__      :       Optional[Any]	    =  attention_probs_dropout_prob
      UpperCamelCase__      :       int	    =  drop_path_rate
      UpperCamelCase__      :       Optional[int]	    =  hidden_act
      UpperCamelCase__      :       Union[str, Any]	    =  layer_norm_eps
      UpperCamelCase__      :       Optional[int]	    =  initializer_range
      # we set the hidden_size attribute in order to make Dinat work with VisionEncoderDecoderModel
      # this indicates the channel dimension after the last stage of the model
      UpperCamelCase__      :       Any	    =  int(embed_dim * 2 ** (len(SCREAMING_SNAKE_CASE						) - 1)						)
      UpperCamelCase__      :       str	    =  layer_scale_init_value
      UpperCamelCase__      :       List[str]	    =  ["stem"] + [F'stage{idx}' for idx in range(1							,       len(SCREAMING_SNAKE_CASE						) + 1						)]
      UpperCamelCase__      :       List[str]	    =  get_aligned_output_features_output_indices(
          out_features=SCREAMING_SNAKE_CASE							,       out_indices=SCREAMING_SNAKE_CASE							,       stage_names=self.stage_names						)







def 		SCREAMING_SNAKE_CASE							( __lowerCAmelCase      )			->     int:
     UpperCamelCase__      :       int	    =  1
     for i in range(1 ,   num + 1      ):
          fact *= i
     return fact







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







def 		SCREAMING_SNAKE_CASE							( __lowerCAmelCase = 100      )			->     int:
     UpperCamelCase__      :       Optional[Any]	    =  factorial(__lowerCAmelCase      )
     UpperCamelCase__      :       Optional[int]	    =  split_and_add(__lowerCAmelCase      )
     return result


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