"""simple docstring"""





from ...configuration_utils import PretrainedConfig
from ...utils import logging


__A  =				logging.get_logger(__name__)

__A  =				{
    '''microsoft/swinv2-tiny-patch4-window8-256''': (
        '''https://huggingface.co/microsoft/swinv2-tiny-patch4-window8-256/resolve/main/config.json'''
    ),
}
class  _snake_case     (					a__		):
      snake_case__			  =			"swinv2"

      snake_case__			  =			{
          "num_attention_heads": "num_heads",
          "num_hidden_layers": "num_layers",
      }






      def __init__(       self      :			Optional[int]							,					UpperCAmelCase      :			List[Any]=224							,					UpperCAmelCase      :			List[str]=4							,					UpperCAmelCase      :			Optional[int]=3							,					UpperCAmelCase      :			Union[str, Any]=96							,					UpperCAmelCase      :			Tuple=[2, 2, 6, 2]							,					UpperCAmelCase      :			List[str]=[3, 6, 12, 24]							,					UpperCAmelCase      :			Union[str, Any]=7							,					UpperCAmelCase      :			str=4.0							,					UpperCAmelCase      :			Dict=True							,					UpperCAmelCase      :			Any=0.0							,					UpperCAmelCase      :			Optional[Any]=0.0							,					UpperCAmelCase      :			str=0.1							,					UpperCAmelCase      :			Optional[int]="gelu"							,					UpperCAmelCase      :			Any=False							,					UpperCAmelCase      :			Optional[Any]=0.0_2							,					UpperCAmelCase      :			List[Any]=1E-5							,					UpperCAmelCase      :			Optional[int]=32							,					**UpperCAmelCase      :			int							,					):
             super().__init__(**UpperCAmelCase    )

             __lowerCamelCase					:		List[str]		   =     image_size
             __lowerCamelCase					:		int		   =     patch_size
             __lowerCamelCase					:		int		   =     num_channels
             __lowerCamelCase					:		int		   =     embed_dim
             __lowerCamelCase					:		Dict		   =     depths
             __lowerCamelCase					:		Union[str, Any]		   =     len(UpperCAmelCase    )
             __lowerCamelCase					:		Any		   =     num_heads
             __lowerCamelCase					:		Optional[int]		   =     window_size
             __lowerCamelCase					:		Optional[Any]		   =     mlp_ratio
             __lowerCamelCase					:		Dict		   =     qkv_bias
             __lowerCamelCase					:		Any		   =     hidden_dropout_prob
             __lowerCamelCase					:		Tuple		   =     attention_probs_dropout_prob
             __lowerCamelCase					:		Any		   =     drop_path_rate
             __lowerCamelCase					:		int		   =     hidden_act
             __lowerCamelCase					:		List[Any]		   =     use_absolute_embeddings
             __lowerCamelCase					:		Any		   =     layer_norm_eps
             __lowerCamelCase					:		Union[str, Any]		   =     initializer_range
             __lowerCamelCase					:		Optional[int]		   =     encoder_stride
             # we set the hidden_size attribute in order to make Swinv2 work with VisionEncoderDecoderModel
             # this indicates the channel dimension after the last stage of the model
             __lowerCamelCase					:		Union[str, Any]		   =     int(embed_dim * 2 ** (len(UpperCAmelCase    ) - 1)    )
             __lowerCamelCase					:		Dict		   =     (0, 0, 0, 0)
"""simple docstring"""





from functools import lru_cache


def    lowercase_   (   _lowerCamelCase:	int      ) ->      set:



							'''simple docstring'''

							__lowerCamelCase					:		Optional[Any]		   =     2
							__lowerCamelCase					:		Tuple		   =     set()
							while i * i <= n:
														if n % i:
																					i += 1
														else:
																					n //= i
																					factors.add(_lowerCamelCase      )
							if n > 1:
														factors.add(_lowerCamelCase      )
							return factors


@lru_cache
def    lowercase_   (   _lowerCamelCase:	int      ) ->      int:



							'''simple docstring'''

							return len(unique_prime_factors(_lowerCamelCase      )      )


def    lowercase_   (   _lowerCamelCase:	list      ) ->      bool:



							'''simple docstring'''

							return len(set(_lowerCamelCase      )      ) in (0, 1)


def    lowercase_   (   _lowerCamelCase:	int      ) ->      list:



							'''simple docstring'''

							__lowerCamelCase					:		str		   =     2

							while True:
														# Increment each value of a generated range
														__lowerCamelCase					:		int		   =     [base + i for i in range(_lowerCamelCase      )]

														# Run elements through out unique_prime_factors function
														# Append our target number to the end.
														__lowerCamelCase					:		Dict		   =     [upf_len(_lowerCamelCase      ) for x in group]
														checker.append(_lowerCamelCase      )

														# If all numbers in the list are equal, return the group variable.
														if equality(_lowerCamelCase      ):
																					return group

														# Increment our base variable by 1
														base += 1


def    lowercase_   (   _lowerCamelCase:	int = 4      ) ->      int:



							'''simple docstring'''

							__lowerCamelCase					:		Any		   =     run(_lowerCamelCase      )
							return results[0] if len(_lowerCamelCase      ) else None


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