
'''simple docstring'''



import functools
import operator

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


UpperCamelCase__      :		Tuple       							=  logging.get_logger(__name__)

UpperCamelCase__      :		str       							=  {
    "microsoft/unispeech-sat-base-100h-libri-ft": (
        "https://huggingface.co/microsoft/unispeech-sat-base-100h-libri-ft/resolve/main/config.json"
    ),
    # See all UniSpeechSat models at https://huggingface.co/models?filter=unispeech_sat
}

class    _a				(_lowerCamelCase):
       SCREAMING_SNAKE_CASE      =  'unispeech-sat'






       def __init__(							self       ,							A__=32       ,							A__=7_68       ,							A__=12       ,							A__=12       ,							A__=30_72       ,							A__="gelu"       ,							A__=0.1       ,							A__=0.1       ,							A__=0.1       ,							A__=0.0       ,							A__=0.0       ,							A__=0.1       ,							A__=0.1       ,							A__=0.02       ,							A__=1E-5       ,							A__="group"       ,							A__="gelu"       ,							A__=(5_12, 5_12, 5_12, 5_12, 5_12, 5_12, 5_12)       ,							A__=(5, 2, 2, 2, 2, 2, 2)       ,							A__=(10, 3, 3, 3, 3, 2, 2)       ,							A__=False       ,							A__=1_28       ,							A__=16       ,							A__=False       ,							A__=True       ,							A__=0.05       ,							A__=10       ,							A__=2       ,							A__=0.0       ,							A__=10       ,							A__=0       ,							A__=3_20       ,							A__=2       ,							A__=0.1       ,							A__=1_00       ,							A__=2_56       ,							A__=2_56       ,							A__=0.1       ,							A__="mean"       ,							A__=False       ,							A__=False       ,							A__=2_56       ,							A__=(5_12, 5_12, 5_12, 5_12, 15_00)       ,							A__=(5, 3, 3, 1, 1)       ,							A__=(1, 2, 3, 1, 1)       ,							A__=5_12       ,							A__=0       ,							A__=1       ,							A__=2       ,							A__=5_04       ,							**A__       ,							)    ->			List[str]:
          super().__init__(**A__       ,							pad_token_id=A__       ,							bos_token_id=A__       ,							eos_token_id=A__      )
          _SCREAMING_SNAKE_CASE      =				hidden_size
          _SCREAMING_SNAKE_CASE      =				feat_extract_norm
          _SCREAMING_SNAKE_CASE      =				feat_extract_activation
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				conv_bias
          _SCREAMING_SNAKE_CASE      =				num_conv_pos_embeddings
          _SCREAMING_SNAKE_CASE      =				num_conv_pos_embedding_groups
          _SCREAMING_SNAKE_CASE      =				len(self.conv_dim      )
          _SCREAMING_SNAKE_CASE      =				num_hidden_layers
          _SCREAMING_SNAKE_CASE      =				intermediate_size
          _SCREAMING_SNAKE_CASE      =				hidden_act
          _SCREAMING_SNAKE_CASE      =				num_attention_heads
          _SCREAMING_SNAKE_CASE      =				hidden_dropout
          _SCREAMING_SNAKE_CASE      =				attention_dropout
          _SCREAMING_SNAKE_CASE      =				activation_dropout
          _SCREAMING_SNAKE_CASE      =				feat_proj_dropout
          _SCREAMING_SNAKE_CASE      =				final_dropout
          _SCREAMING_SNAKE_CASE      =				layerdrop
          _SCREAMING_SNAKE_CASE      =				layer_norm_eps
          _SCREAMING_SNAKE_CASE      =				initializer_range
          _SCREAMING_SNAKE_CASE      =				vocab_size
          _SCREAMING_SNAKE_CASE      =				num_clusters
          _SCREAMING_SNAKE_CASE      =				do_stable_layer_norm
          _SCREAMING_SNAKE_CASE      =				use_weighted_layer_sum

          if (
              (len(self.conv_stride      ) != self.num_feat_extract_layers)
              or (len(self.conv_kernel      ) != self.num_feat_extract_layers)
              or (len(self.conv_dim      ) != self.num_feat_extract_layers)
          ):
             raise ValueError(
                 """Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =="""
                 """ `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ="""
                 F" {len(self.conv_dim      )}`, `len(config.conv_stride) = {len(self.conv_stride      )}`,"
                 F" `len(config.conv_kernel) = {len(self.conv_kernel      )}`."      )

          # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
          _SCREAMING_SNAKE_CASE      =				apply_spec_augment
          _SCREAMING_SNAKE_CASE      =				mask_time_prob
          _SCREAMING_SNAKE_CASE      =				mask_time_length
          _SCREAMING_SNAKE_CASE      =				mask_time_min_masks
          _SCREAMING_SNAKE_CASE      =				mask_feature_prob
          _SCREAMING_SNAKE_CASE      =				mask_feature_length
          _SCREAMING_SNAKE_CASE      =				mask_feature_min_masks

          # parameters for pretraining with codevector quantized representations
          _SCREAMING_SNAKE_CASE      =				num_codevectors_per_group
          _SCREAMING_SNAKE_CASE      =				num_codevector_groups
          _SCREAMING_SNAKE_CASE      =				contrastive_logits_temperature
          _SCREAMING_SNAKE_CASE      =				feat_quantizer_dropout
          _SCREAMING_SNAKE_CASE      =				num_negatives
          _SCREAMING_SNAKE_CASE      =				codevector_dim
          _SCREAMING_SNAKE_CASE      =				proj_codevector_dim
          _SCREAMING_SNAKE_CASE      =				diversity_loss_weight

          # ctc loss
          _SCREAMING_SNAKE_CASE      =				ctc_loss_reduction
          _SCREAMING_SNAKE_CASE      =				ctc_zero_infinity

          # SequenceClassification-specific parameter. Feel free to ignore for other classes.
          _SCREAMING_SNAKE_CASE      =				classifier_proj_size

          # XVector-specific parameters. Feel free to ignore for other classes.
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				list(A__      )
          _SCREAMING_SNAKE_CASE      =				xvector_output_dim






       @property
       def        UpperCamelCase				(							self      )    ->			Dict:
          return functools.reduce(operator.mul       ,							self.conv_stride       ,							1      )








'''simple docstring'''



import sys

UpperCamelCase__      :		int       							=  (
    "73167176531330624919225119674426574742355349194934"
    "96983520312774506326239578318016984801869478851843"
    "85861560789112949495459501737958331952853208805511"
    "12540698747158523863050715693290963295227443043557"
    "66896648950445244523161731856403098711121722383113"
    "62229893423380308135336276614282806444486645238749"
    "30358907296290491560440772390713810515859307960866"
    "70172427121883998797908792274921901699720888093776"
    "65727333001053367881220235421809751254540594752243"
    "52584907711670556013604839586446706324415722155397"
    "53697817977846174064955149290862569321978468622482"
    "83972241375657056057490261407972968652414535100474"
    "82166370484403199890008895243450658541227588666881"
    "16427171479924442928230863465674813919123162824586"
    "17866458359124566529476545682848912883142607690042"
    "24219022671055626321111109370544217506941658960408"
    "07198403850962455444362981230987879927244284909188"
    "84580156166097919133875499200524063689912560717606"
    "05886116467109405077541002256983155200055935729725"
    "71636269561882670428252483600823257530420752963450"
)
def    lowerCAmelCase_	(				SCREAMING_SNAKE_CASE_ = N						)     ->     int:




   """simple docstring"""
   _SCREAMING_SNAKE_CASE      =				-sys.maxsize - 1
   for i in range(len(SCREAMING_SNAKE_CASE_						) - 12						):
      _SCREAMING_SNAKE_CASE      =				1
      for j in range(13						):
         product *= int(n[i + j]						)
      if product > largest_product:
         _SCREAMING_SNAKE_CASE      =				product
   return largest_product


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






