

"""simple docstring"""




import warnings
from collections import OrderedDict
from typing import Mapping

from packaging import version

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


_lowercase   :	Any												=						logging.get_logger(__name__)

_lowercase   :	int												=						{
    'nvidia/segformer-b0-finetuned-ade-512-512': (
        'https://huggingface.co/nvidia/segformer-b0-finetuned-ade-512-512/resolve/main/config.json'
    ),
    # See all SegFormer models at https://huggingface.co/models?filter=segformer
}
class      _UpperCAmelCase   (							_lowerCAmelCase       ):
	a__		: Tuple					=					"""segformer"""



	def __init__(  self     :       Dict			,    _lowercase     :       Optional[int]=3			,    _lowercase     :       Optional[Any]=4			,    _lowercase     :       Optional[int]=[2, 2, 2, 2]			,    _lowercase     :       Optional[Any]=[8, 4, 2, 1]			,    _lowercase     :       Optional[int]=[32, 64, 1_60, 2_56]			,    _lowercase     :       Any=[7, 3, 3, 3]			,    _lowercase     :       List[str]=[4, 2, 2, 2]			,    _lowercase     :       Optional[Any]=[1, 2, 5, 8]			,    _lowercase     :       Dict=[4, 4, 4, 4]			,    _lowercase     :       Any="gelu"			,    _lowercase     :       List[Any]=0.0			,    _lowercase     :       Optional[int]=0.0			,    _lowercase     :       Union[str, Any]=0.1			,    _lowercase     :       Optional[Any]=0.02			,    _lowercase     :       Tuple=0.1			,    _lowercase     :       List[Any]=1E-6			,    _lowercase     :       Tuple=2_56			,    _lowercase     :       Any=2_55			,    **_lowercase     :       str			,    ):
		super().__init__(**UpperCamelCase_						)

		if "reshape_last_stage" in kwargs and kwargs["reshape_last_stage"] is False:
			warnings.warn(
			    '''Reshape_last_stage is set to False in this config. This argument is deprecated and will soon be'''
			    ''' removed, as the behaviour will default to that of reshape_last_stage = True.'''			,    UpperCamelCase_			,    )

		__UpperCAmelCase      		= num_channels
		__UpperCAmelCase      		= num_encoder_blocks
		__UpperCAmelCase      		= depths
		__UpperCAmelCase      		= sr_ratios
		__UpperCAmelCase      		= hidden_sizes
		__UpperCAmelCase      		= patch_sizes
		__UpperCAmelCase      		= strides
		__UpperCAmelCase      		= mlp_ratios
		__UpperCAmelCase      		= num_attention_heads
		__UpperCAmelCase      		= hidden_act
		__UpperCAmelCase      		= hidden_dropout_prob
		__UpperCAmelCase      		= attention_probs_dropout_prob
		__UpperCAmelCase      		= classifier_dropout_prob
		__UpperCAmelCase      		= initializer_range
		__UpperCAmelCase      		= drop_path_rate
		__UpperCAmelCase      		= layer_norm_eps
		__UpperCAmelCase      		= decoder_hidden_size
		__UpperCAmelCase      		= kwargs.get('''reshape_last_stage'''			,    UpperCamelCase_						)
		__UpperCAmelCase      		= semantic_loss_ignore_index






class      _UpperCAmelCase   (							_lowerCAmelCase       ):
	a__		: List[str]					=					version.parse("1.11"       )



	@property
	def        a  (  self     :       str						):
		return OrderedDict(
		    [
		        ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
		    ]						)



	@property
	def        a  (  self     :       str						):
		return 1E-4



	@property
	def        a  (  self     :       Optional[Any]						):
		return 12


"""simple docstring"""



from itertools import permutations
def 					lowerCamelCase   (     _snake_case ):
    if num[3] % 2 != 0:
        return False

    if (num[2] + num[3] + num[4]) % 3 != 0:
        return False

    if num[5] % 5 != 0:
        return False

    UpperCAmelCase__	:      List[str]     							=					[7, 11, 13, 17]
    for i, test in enumerate(_snake_case ):
        if (num[i + 4] * 100 + num[i + 5] * 10 + num[i + 6]) % test != 0:
            return False
    return True
def 					lowerCamelCase   (     _snake_case = 10 ):
    return sum(
        int(''.join(map(_snake_case    ,_snake_case ) ) )
        for num in permutations(range(_snake_case ) )
        if is_substring_divisible(_snake_case ) )


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

