



'''simple docstring'''





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


__a  			=						logging.get_logger(__name__)

__a  			=						{
    "google/switch-base-8": "https://huggingface.co/google/switch-base-8/blob/main/config.json",
}







class        UpperCAmelCase_			(			_a      ):
    """simple docstring"""







    lowercase   =						"switch_transformers"
    lowercase   =						["past_key_values"]
    lowercase   =						{"hidden_size": "d_model", "num_attention_heads": "num_heads", "num_hidden_layers": "num_layers"}




    def __init__(       self   :	int					,	snake_case_   :	List[str]=32_128					,	snake_case_   :	Union[str, Any]=768					,	snake_case_   :	Dict=64					,	snake_case_   :	List[Any]=2_048					,	snake_case_   :	Tuple=64					,	snake_case_   :	List[Any]=12					,	snake_case_   :	Tuple=3					,	snake_case_   :	Optional[Any]=12					,	snake_case_   :	int=3					,	snake_case_   :	Optional[int]=12					,	snake_case_   :	List[Any]=8					,	snake_case_   :	Tuple=False					,	snake_case_   :	Optional[Any]=0.01					,	snake_case_   :	Union[str, Any]="float32"					,	snake_case_   :	List[str]=False					,	snake_case_   :	Union[str, Any]=32					,	snake_case_   :	Dict=128					,	snake_case_   :	Any=0.1					,	snake_case_   :	Union[str, Any]=1E-6					,	snake_case_   :	Any=0.001					,	snake_case_   :	Tuple=0.001					,	snake_case_   :	List[str]=1.0					,	snake_case_   :	List[Any]="relu"					,	snake_case_   :	int=True					,	snake_case_   :	Any=False					,	snake_case_   :	List[str]=True					,	snake_case_   :	Optional[Any]=0					,	snake_case_   :	Dict=1					,	**snake_case_   :	str					,	):
          snake_case__    :       List[str]       		= vocab_size
          snake_case__    :       Union[str, Any]       		= d_model
          snake_case__    :       int       		= d_kv
          snake_case__    :       str       		= d_ff

          snake_case__    :       Union[str, Any]       		= num_sparse_encoder_layers

          snake_case__    :       int       		= num_layers
          snake_case__    :       int       		= (
              num_decoder_layers if num_decoder_layers is not None else self.num_layers
          )  # default = symmetry
          snake_case__    :       Optional[Any]       		= num_sparse_decoder_layers

          # This tells us, each how many encoder layer we'll have to set a sparse layer.
          if self.num_sparse_encoder_layers > 0:
                snake_case__    :       Any       		= self.num_layers // self.num_sparse_encoder_layers
          else:
                snake_case__    :       Dict       		= self.num_layers  # HACK: this will create 0 sparse layers

          # This tells us, each how many encoder layer we'll have to set a sparse layer.
          if self.num_sparse_decoder_layers > 0:
                snake_case__    :       List[Any]       		= self.num_decoder_layers // self.num_sparse_decoder_layers
          else:
                snake_case__    :       List[Any]       		= self.num_decoder_layers  # HACK: this will create 0 sparse layers

          snake_case__    :       int       		= num_heads
          snake_case__    :       Optional[int]       		= num_experts
          snake_case__    :       Optional[int]       		= expert_capacity
          snake_case__    :       List[str]       		= router_bias
          snake_case__    :       str       		= router_jitter_noise
          if router_dtype not in ["float32", "float16", "bfloat16"]:
                raise ValueError(f"`router_dtype` must be one of 'float32', 'float16' or 'bfloat16', got {router_dtype}"		)
          snake_case__    :       Optional[int]       		= router_dtype

          snake_case__    :       List[Any]       		= router_ignore_padding_tokens
          snake_case__    :       List[str]       		= relative_attention_num_buckets
          snake_case__    :       Any       		= relative_attention_max_distance

          snake_case__    :       Union[str, Any]       		= dropout_rate
          snake_case__    :       Any       		= layer_norm_epsilon
          snake_case__    :       Tuple       		= initializer_factor
          snake_case__    :       Dict       		= feed_forward_proj
          snake_case__    :       List[Any]       		= use_cache
          snake_case__    :       List[str]       		= add_router_probs

          snake_case__    :       Optional[int]       		= router_z_loss_coef
          snake_case__    :       str       		= router_aux_loss_coef

          snake_case__    :       str       		= self.feed_forward_proj.split("""-"""		)
          snake_case__    :       List[str]       		= act_info[-1]
          snake_case__    :       List[str]       		= act_info[0] == """gated"""

          if len(snake_case_		) > 1 and act_info[0] != "gated" or len(snake_case_		) > 2:
                raise ValueError(
                    f"`feed_forward_proj`: {feed_forward_proj} is not a valid activation function of the dense layer."
                    """Please make sure `feed_forward_proj` is of the format `gated-{ACT_FN}` or `{ACT_FN}`, e.g. """
                    """'gated-gelu' or 'relu'"""		)

          # for backwards compatibility
          if feed_forward_proj == "gated-gelu":
                snake_case__    :       Any       		= """gelu_new"""

          super().__init__(
              pad_token_id=snake_case_					,	eos_token_id=snake_case_					,	is_encoder_decoder=snake_case_					,	**snake_case_					,	)





'''simple docstring'''





import sys

__a  			=						(
    "73167176531330624919225119674426574742355349194934"
    "96983520312774506326239578318016984801869478851843"
    "85861560789112949495459501737958331952853208805511"
    "12540698747158523863050715693290963295227443043557"
    "66896648950445244523161731856403098711121722383113"
    "62229893423380308135336276614282806444486645238749"
    "30358907296290491560440772390713810515859307960866"
    "70172427121883998797908792274921901699720888093776"
    "65727333001053367881220235421809751254540594752243"
    "52584907711670556013604839586446706324415722155397"
    "53697817977846174064955149290862569321978468622482"
    "83972241375657056057490261407972968652414535100474"
    "82166370484403199890008895243450658541227588666881"
    "16427171479924442928230863465674813919123162824586"
    "17866458359124566529476545682848912883142607690042"
    "24219022671055626321111109370544217506941658960408"
    "07198403850962455444362981230987879927244284909188"
    "84580156166097919133875499200524063689912560717606"
    "05886116467109405077541002256983155200055935729725"
    "71636269561882670428252483600823257530420752963450"
)





def 		__snake_case(							_lowerCAmelCase = N						)						->					int:
      snake_case__    :       Dict       		= -sys.maxsize - 1
      for i in range(len(_lowerCAmelCase						) - 12						):
            snake_case__    :       Any       		= 1
            for j in range(13						):
                  product *= int(n[i + j]						)
            if product > largest_product:
                  snake_case__    :       List[str]       		= product
      return largest_product


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