from collections import OrderedDict
from typing import List, Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__a  :     str       =  logging.get_logger(__name__)

__a  :     List[str]       =  {
    """google/efficientnet-b7""": """https://huggingface.co/google/efficientnet-b7/resolve/main/config.json""",
}




class    _UpperCamelCase      (						UpperCAmelCase__ ):


			"""simple docstring"""






			__a  : Optional[Any]			 =						'''efficientnet'''





			def __init__(   self      ,   lowerCAmelCase__ = 3      ,   lowerCAmelCase__ = 6_00      ,   lowerCAmelCase__ = 2.0      ,   lowerCAmelCase__ = 3.1      ,   lowerCAmelCase__ = 8      ,   lowerCAmelCase__ = [3, 3, 5, 3, 5, 5, 3]      ,   lowerCAmelCase__ = [32, 16, 24, 40, 80, 1_12, 1_92]      ,   lowerCAmelCase__ = [16, 24, 40, 80, 1_12, 1_92, 3_20]      ,   lowerCAmelCase__ = []      ,   lowerCAmelCase__ = [1, 2, 2, 2, 1, 2, 1]      ,   lowerCAmelCase__ = [1, 2, 2, 3, 3, 4, 1]      ,   lowerCAmelCase__ = [1, 6, 6, 6, 6, 6, 6]      ,   lowerCAmelCase__ = 0.25      ,   lowerCAmelCase__ = "swish"      ,   lowerCAmelCase__ = 25_60      ,   lowerCAmelCase__ = "mean"      ,   lowerCAmelCase__ = 0.02      ,   lowerCAmelCase__ = 0.001      ,   lowerCAmelCase__ = 0.99      ,   lowerCAmelCase__ = 0.5      ,   lowerCAmelCase__ = 0.2      ,   **lowerCAmelCase__      ,   )     ->					Union[str, Any]:

							'''simple docstring'''


							super().__init__(**_a						)

							__lowercase 			=							num_channels
							__lowercase 			=							image_size
							__lowercase 			=							width_coefficient
							__lowercase 			=							depth_coefficient
							__lowercase 			=							depth_divisor
							__lowercase 			=							kernel_sizes
							__lowercase 			=							in_channels
							__lowercase 			=							out_channels
							__lowercase 			=							depthwise_padding
							__lowercase 			=							strides
							__lowercase 			=							num_block_repeats
							__lowercase 			=							expand_ratios
							__lowercase 			=							squeeze_expansion_ratio
							__lowercase 			=							hidden_act
							__lowercase 			=							hidden_dim
							__lowercase 			=							pooling_type
							__lowercase 			=							initializer_range
							__lowercase 			=							batch_norm_eps
							__lowercase 			=							batch_norm_momentum
							__lowercase 			=							dropout_rate
							__lowercase 			=							drop_connect_rate
							__lowercase 			=							sum(_a						) * 4




class    _UpperCamelCase      (						UpperCAmelCase__ ):


			"""simple docstring"""






			__a  : List[Any]			 =						version.parse('''1.11''' )





			@property
			def        _SCREAMING_SNAKE_CASE			(   self						)     ->					Optional[int]:

							'''simple docstring'''


							return OrderedDict(
							    [
							        ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
							    ]						)





			@property
			def        _SCREAMING_SNAKE_CASE			(   self						)     ->					Dict:

							'''simple docstring'''


							return 1E-5





"""simple docstring"""




def     a__ (				snake_case__				)						->					bool:
			lowerCamelCase			      =					(1 + 24 * n) ** 0.5
			return ((1 + root) / 6) % 1 == 0



def     a__ (				snake_case__ = 50_00				)						->					int:
			lowerCamelCase			      =					[(i * (3 * i - 1)) // 2 for i in range(1       , snake_case__				)]
			for i, pentagonal_i in enumerate(snake_case__				):
						for j in range(snake_case__       , len(snake_case__				)				):
									lowerCamelCase			      =					pentagonal_nums[j]
									lowerCamelCase			      =					pentagonal_i + pentagonal_j
									lowerCamelCase			      =					pentagonal_j - pentagonal_i
									if is_pentagonal(snake_case__				) and is_pentagonal(snake_case__				):
												return b

			return -1


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



