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


__magic_name__            =  logging.get_logger(__name__)

__magic_name__            =  {
    '''speechbrain/m-ctc-t-large''': '''https://huggingface.co/speechbrain/m-ctc-t-large/resolve/main/config.json''',
    # See all M-CTC-T models at https://huggingface.co/models?filter=mctct
}




class 					_SCREAMING_SNAKE_CASE  (      __UpperCamelCase ):
      _A						:		int    	=     'mctct'
      def __init__(			self		,	lowerCamelCase=80_65		,	lowerCamelCase=15_36		,	lowerCamelCase=36		,	lowerCamelCase=61_44		,	lowerCamelCase=4		,	lowerCamelCase=3_84		,	lowerCamelCase=9_20		,	lowerCamelCase=1e-5		,	lowerCamelCase=0.3		,	lowerCamelCase="relu"		,	lowerCamelCase=0.0_2		,	lowerCamelCase=0.3		,	lowerCamelCase=0.3		,	lowerCamelCase=1		,	lowerCamelCase=0		,	lowerCamelCase=2		,	lowerCamelCase=1		,	lowerCamelCase=0.3		,	lowerCamelCase=1		,	lowerCamelCase=(7,)		,	lowerCamelCase=(3,)		,	lowerCamelCase=80		,	lowerCamelCase=1		,	lowerCamelCase=None		,	lowerCamelCase="sum"		,	lowerCamelCase=False		,	**lowerCamelCase		,	):
          super().__init__(**lowerCamelCase		,	pad_token_id=lowerCamelCase		,	bos_token_id=lowerCamelCase		,	eos_token_id=lowerCamelCase )
          snake_case__						=				vocab_size
          snake_case__						=				hidden_size
          snake_case__						=				num_hidden_layers
          snake_case__						=				intermediate_size
          snake_case__						=				num_attention_heads
          snake_case__						=				attention_head_dim
          snake_case__						=				max_position_embeddings
          snake_case__						=				layer_norm_eps
          snake_case__						=				layerdrop
          snake_case__						=				hidden_act
          snake_case__						=				initializer_range
          snake_case__						=				hidden_dropout_prob
          snake_case__						=				attention_probs_dropout_prob
          snake_case__						=				pad_token_id
          snake_case__						=				bos_token_id
          snake_case__						=				eos_token_id
          snake_case__						=				conv_glu_dim
          snake_case__						=				conv_dropout
          snake_case__						=				num_conv_layers
          snake_case__						=				input_feat_per_channel
          snake_case__						=				input_channels
          snake_case__						=				conv_channels
          snake_case__						=				ctc_loss_reduction
          snake_case__						=				ctc_zero_infinity

          # prevents config testing fail with exporting to json
          snake_case__						=				list(lowerCamelCase )
          snake_case__						=				list(lowerCamelCase )

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





from __future__ import annotations

from fractions import Fraction





def 	SCREAMING_SNAKE_CASE__    (      __lowerCAmelCase    ,		__lowerCAmelCase							):
    return (
        num != den and num % 10 == den // 10 and (num // 10) / (den % 10) == num / den
    )





def 	SCREAMING_SNAKE_CASE__    (      __lowerCAmelCase							):
    snake_case__						=				[]
    snake_case__						=				11
    snake_case__						=				int("1" + "0" * digit_len							)
    for num in range(__lowerCAmelCase    ,		__lowerCAmelCase							):
        while den <= 99:
            if (num != den) and (num % 10 == den // 10) and (den % 10 != 0):
                if is_digit_cancelling(__lowerCAmelCase    ,		__lowerCAmelCase							):
                    solutions.append(F"""{num}/{den}"""							)
            den += 1
        num += 1
        snake_case__						=				10
    return solutions





def 	SCREAMING_SNAKE_CASE__    (      __lowerCAmelCase = 2							):
    snake_case__						=				1.0
    for fraction in fraction_list(__lowerCAmelCase							):
        snake_case__						=				Fraction(__lowerCAmelCase							)
        result *= frac.denominator / frac.numerator
    return int(__lowerCAmelCase							)


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



