


'''simple docstring'''


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


lowerCamelCase__    	=     logging.get_logger(__name__)

lowerCamelCase__    	=     {
    '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 	lowerCAmelCase__			(			UpperCAmelCase__    ,       UpperCAmelCase__	):
			lowerCAmelCase :	int          =     "dinat"

			lowerCAmelCase :	Dict          =     {
			    "num_attention_heads": "num_heads",
			    "num_hidden_layers": "num_layers",
			}




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



					'''simple docstring'''







					super().__init__(**lowerCamelCase__ )

					_UpperCAmelCase		:       Optional[Any]								=      patch_size
					_UpperCAmelCase		:       Any								=      num_channels
					_UpperCAmelCase		:       Optional[Any]								=      embed_dim
					_UpperCAmelCase		:       Tuple								=      depths
					_UpperCAmelCase		:       Dict								=      len(lowerCamelCase__ )
					_UpperCAmelCase		:       Tuple								=      num_heads
					_UpperCAmelCase		:       Tuple								=      kernel_size
					_UpperCAmelCase		:       List[str]								=      dilations
					_UpperCAmelCase		:       Any								=      mlp_ratio
					_UpperCAmelCase		:       Optional[Any]								=      qkv_bias
					_UpperCAmelCase		:       str								=      hidden_dropout_prob
					_UpperCAmelCase		:       List[Any]								=      attention_probs_dropout_prob
					_UpperCAmelCase		:       Dict								=      drop_path_rate
					_UpperCAmelCase		:       Dict								=      hidden_act
					_UpperCAmelCase		:       Optional[Any]								=      layer_norm_eps
					_UpperCAmelCase		:       Union[str, Any]								=      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		:       List[Any]								=      int(embed_dim * 2 ** (len(lowerCamelCase__ ) - 1) )
					_UpperCAmelCase		:       Optional[Any]								=      layer_scale_init_value
					_UpperCAmelCase		:       int								=      ["stem"] + [F"""stage{idx}""" for idx in range(1	,  len(lowerCamelCase__ ) + 1 )]
					_UpperCAmelCase					,    _UpperCAmelCase		:       Optional[Any]								=      get_aligned_output_features_output_indices(
					    out_features=lowerCamelCase__	,  out_indices=lowerCamelCase__	,  stage_names=self.stage_names )







'''simple docstring'''


def  __lowerCAmelCase ():
		_UpperCAmelCase		:       str								=      0
		for i in range(1      , 1_001   ):
				total += i**i
		return str(__lowerCAmelCase   )[-10:]


if __name__ == "__main__":
						print(solution())



