
"""simple docstring"""






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


__UpperCAmelCase       =  logging.get_logger(__name__)

__UpperCAmelCase       =  {
    """facebook/convnextv2-tiny-1k-224""": """https://huggingface.co/facebook/convnextv2-tiny-1k-224/resolve/main/config.json""",
}




class 			_SCREAMING_SNAKE_CASE					(			_UpperCAmelCase	, _UpperCAmelCase							):
			UpperCAmelCase_  :Union[str, Any]				 =						'convnextv2'






			def __init__(					self       ,   __A=3       ,   __A=4       ,   __A=4       ,   __A=None       ,   __A=None       ,   __A="gelu"       ,   __A=0.0_2       ,   __A=1E-12       ,   __A=0.0       ,   __A=224       ,   __A=None       ,   __A=None       ,   **__A       ,   )			->     Optional[int]:
						super().__init__(**SCREAMING_SNAKE_CASE_       )

						lowerCAmelCase_    :str			     =  num_channels
						lowerCAmelCase_    :Any			     =  patch_size
						lowerCAmelCase_    :int			     =  num_stages
						lowerCAmelCase_    :Optional[int]			     =  [96, 192, 384, 768] if hidden_sizes is None else hidden_sizes
						lowerCAmelCase_    :Optional[int]			     =  [3, 3, 9, 3] if depths is None else depths
						lowerCAmelCase_    :Optional[int]			     =  hidden_act
						lowerCAmelCase_    :Dict			     =  initializer_range
						lowerCAmelCase_    :Tuple			     =  layer_norm_eps
						lowerCAmelCase_    :List[str]			     =  drop_path_rate
						lowerCAmelCase_    :Union[str, Any]			     =  image_size
						lowerCAmelCase_    :List[str]			     =  ['stem'] + [f"""stage{idx}""" for idx in range(1       ,   len(self.depths       ) + 1       )]
						lowerCAmelCase_    :Dict			     =  get_aligned_output_features_output_indices(
						    out_features=SCREAMING_SNAKE_CASE_       ,   out_indices=SCREAMING_SNAKE_CASE_       ,   stage_names=self.stage_names       )










'''simple docstring'''



from math import isqrt



def 			UpperCAmelCase__					(	UpperCAmelCase_    :				int							)     ->		bool:
     return all(number % divisor != 0 for divisor in range(2      ,    isqrt(UpperCAmelCase_							) + 1							)							)



def 			UpperCAmelCase__					(	UpperCAmelCase_    :				int = 10**6							)     ->		int:
     __lowerCamelCase   :	Optional[Any]								=		0
     __lowerCamelCase   :	Optional[int]								=		1
     __lowerCamelCase   :	List[str]								=		7
     while prime_candidate < max_prime:
          primes_count += is_prime(UpperCAmelCase_							)

          cube_index += 1
          prime_candidate += 6 * cube_index

     return primes_count


if __name__ == "__main__":
      print(f'''{solution() = }''')






