


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


lowerCamelCase__							:						List[Any]							     =   logging.get_logger(__name__)
class 		__magic_name__						(snake_case_   ,snake_case_				):





     '''simple docstring'''



     __lowercase				:							Optional[Any]	   =       'maskformer-swin'

     __lowercase				:							Tuple	   =       {
         'num_attention_heads': 'num_heads',
         'num_hidden_layers': 'num_layers',
     }

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

       snake_case__						= image_size
       snake_case__						= patch_size
       snake_case__						= num_channels
       snake_case__						= embed_dim
       snake_case__						= depths
       snake_case__						= len(_a   )
       snake_case__						= num_heads
       snake_case__						= window_size
       snake_case__						= mlp_ratio
       snake_case__						= qkv_bias
       snake_case__						= hidden_dropout_prob
       snake_case__						= attention_probs_dropout_prob
       snake_case__						= drop_path_rate
       snake_case__						= hidden_act
       snake_case__						= use_absolute_embeddings
       snake_case__						= layer_norm_eps
       snake_case__						= 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
       snake_case__						= int(embed_dim * 2 ** (len(_a   ) - 1)   )
       snake_case__						= ['''stem'''] + [F"""stage{idx}""" for idx in range(1     ,		len(_a   ) + 1   )]
       snake_case__				,				snake_case__						= get_aligned_output_features_output_indices(
           out_features=_a     ,		out_indices=_a     ,		stage_names=self.stage_names   )





def SCREAMING_SNAKE_CASE	(			__lowerCAmelCase = 100				)    ->				int:
  snake_case__						= set()

  snake_case__						= 0

  snake_case__						= n + 1  # maximum limit

  for a in range(2							,   __lowerCAmelCase				):
    for b in range(2							,   __lowerCAmelCase				):
      snake_case__						= a**b  # calculates the current power
      collect_powers.add(__lowerCAmelCase				)  # adds the result to the set
  return len(__lowerCAmelCase				)


if __name__ == "__main__":
   print("""Number of terms """, solution(int(str(input()).strip())))

