



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


SCREAMING_SNAKE_CASE__   			=   logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__   			=   {
    '''google/canine-s''': '''https://huggingface.co/google/canine-s/resolve/main/config.json''',
    # See all CANINE models at https://huggingface.co/models?filter=canine
}


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






					A__					:		str      							=     "canine"



					def __init__(  self       :							Tuple					,       _snake_case       :							Optional[Any]=7_68					,       _snake_case       :							Optional[Any]=12					,       _snake_case       :							int=12					,       _snake_case       :							List[str]=30_72					,       _snake_case       :							Any="gelu"					,       _snake_case       :							str=0.1					,       _snake_case       :							List[Any]=0.1					,       _snake_case       :							List[str]=1_63_84					,       _snake_case       :							Optional[Any]=16					,       _snake_case       :							Dict=0.02					,       _snake_case       :							str=1E-12					,       _snake_case       :							Dict=0					,       _snake_case       :							Optional[Any]=0xE000					,       _snake_case       :							Optional[Any]=0xE001					,       _snake_case       :							Optional[int]=4					,       _snake_case       :							int=4					,       _snake_case       :							Optional[Any]=8					,       _snake_case       :							Any=1_63_84					,       _snake_case       :							Dict=1_28					,       **_snake_case       :							Tuple					,       ):






								"""simple docstring"""


								super().__init__(pad_token_id=_snake_case					,       bos_token_id=_snake_case					,       eos_token_id=_snake_case					,       **_snake_case       )

								A__	  =     max_position_embeddings
								A__	  =     hidden_size
								A__	  =     num_hidden_layers
								A__	  =     num_attention_heads
								A__	  =     intermediate_size
								A__	  =     hidden_act
								A__	  =     hidden_dropout_prob
								A__	  =     attention_probs_dropout_prob
								A__	  =     initializer_range
								A__	  =     type_vocab_size
								A__	  =     layer_norm_eps

								# Character config:
								A__	  =     downsampling_rate
								A__	  =     upsampling_kernel_size
								A__	  =     num_hash_functions
								A__	  =     num_hash_buckets
								A__	  =     local_transformer_stride









from __future__ import annotations

from fractions import Fraction


def A    (							__UpperCamelCase			,						__UpperCamelCase       )    ->   bool:
			return (
			    num != den and num % 10 == den // 10 and (num // 10) / (den % 10) == num / den
			)


def A    (							__UpperCamelCase       )    ->   list[str]:
			A__	  =     []
			A__	  =     11
			A__	  =     int('1' + '0' * digit_len       )
			for num in range(__UpperCamelCase			,						__UpperCamelCase       ):
						while den <= 99:
									if (num != den) and (num % 10 == den // 10) and (den % 10 != 0):
												if is_digit_cancelling(__UpperCamelCase			,						__UpperCamelCase       ):
															solutions.append(f'''{num}/{den}'''       )
									den += 1
						num += 1
						A__	  =     10
			return solutions


def A    (							__UpperCamelCase = 2       )    ->   int:
			A__	  =     1.0
			for fraction in fraction_list(__UpperCamelCase       ):
						A__	  =     Fraction(__UpperCamelCase       )
						result *= frac.denominator / frac.numerator
			return int(__UpperCamelCase       )


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




