
'''simple docstring'''





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


SCREAMING_SNAKE_CASE     =       logging.get_logger(__name__)






class 							UpperCAmelCase_							(    A					,				A				):

 '''simple docstring'''
 lowercase_					:    List[str]				=							"maskformer-swin"

 lowercase_					:    str				=							{
     "num_attention_heads": "num_heads",
     "num_hidden_layers": "num_layers",
 }







 def __init__(					self		:  str			,				snake_case__		:  Optional[Any]=2_24			,				snake_case__		:  List[str]=4			,				snake_case__		:  int=3			,				snake_case__		:  Optional[int]=96			,				snake_case__		:  Optional[Any]=[2, 2, 6, 2]			,				snake_case__		:  int=[3, 6, 12, 24]			,				snake_case__		:  List[Any]=7			,				snake_case__		:  Optional[int]=4.0			,				snake_case__		:  Any=True			,				snake_case__		:  Dict=0.0			,				snake_case__		:  Any=0.0			,				snake_case__		:  List[str]=0.1			,				snake_case__		:  Dict="gelu"			,				snake_case__		:  Optional[int]=False			,				snake_case__		:  Optional[Any]=0.02			,				snake_case__		:  List[Any]=1e-5			,				snake_case__		:  List[str]=None			,				snake_case__		:  List[Any]=None			,				**snake_case__		:  Dict			,				):



   '''simple docstring'''




   super().__init__(**snake_case__ )

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





'''simple docstring'''





def snake_case_     (					lowercase__		):
  return sum(i for i in range(1   ,       number // 2 + 1		) if number % i == 0		) == number


if __name__ == "__main__":
      print("""Program to check whether a number is a Perfect number or not...""")
      SCREAMING_SNAKE_CASE     =       int(input("""Enter number: """).strip())
      print(F'{number} is {"" if perfect(number) else "not "}a Perfect Number.')



