"""simple docstring"""







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


_a					:					Optional[Any]=			logging.get_logger(__name__)

_a					:					str=			{
    "funnel-transformer/small": "https://huggingface.co/funnel-transformer/small/resolve/main/config.json",
    "funnel-transformer/small-base": "https://huggingface.co/funnel-transformer/small-base/resolve/main/config.json",
    "funnel-transformer/medium": "https://huggingface.co/funnel-transformer/medium/resolve/main/config.json",
    "funnel-transformer/medium-base": "https://huggingface.co/funnel-transformer/medium-base/resolve/main/config.json",
    "funnel-transformer/intermediate": (
        "https://huggingface.co/funnel-transformer/intermediate/resolve/main/config.json"
    ),
    "funnel-transformer/intermediate-base": (
        "https://huggingface.co/funnel-transformer/intermediate-base/resolve/main/config.json"
    ),
    "funnel-transformer/large": "https://huggingface.co/funnel-transformer/large/resolve/main/config.json",
    "funnel-transformer/large-base": "https://huggingface.co/funnel-transformer/large-base/resolve/main/config.json",
    "funnel-transformer/xlarge": "https://huggingface.co/funnel-transformer/xlarge/resolve/main/config.json",
    "funnel-transformer/xlarge-base": "https://huggingface.co/funnel-transformer/xlarge-base/resolve/main/config.json",
}

class 		UpperCamelCase      (   UpperCamelCase_						):
				UpperCAmelCase    :				str   =		"""funnel"""
				UpperCAmelCase    :				str   =		{
				    """hidden_size""": """d_model""",
				    """num_attention_heads""": """n_head""",
				}



				def __init__(self    :				List[str]     ,  _A    :				Optional[Any]=3_05_22     ,  _A    :				Any=[4, 4, 4]     ,  _A    :				Any=None     ,  _A    :				Union[str, Any]=2     ,  _A    :				int=7_68     ,  _A    :				str=12     ,  _A    :				str=64     ,  _A    :				Any=30_72     ,  _A    :				List[str]="gelu_new"     ,  _A    :				List[str]=0.1     ,  _A    :				Dict=0.1     ,  _A    :				Optional[Any]=0.0     ,  _A    :				List[Any]=0.1     ,  _A    :				Union[str, Any]=None     ,  _A    :				str=1E-9     ,  _A    :				int="mean"     ,  _A    :				Optional[int]="relative_shift"     ,  _A    :				Tuple=True     ,  _A    :				str=True     ,  _A    :				Dict=True     ,  **_A    :				Dict     ,  )   ->     Tuple:
					__snake_case      :							Union[str, Any]						=			vocab_size
					__snake_case      :							Tuple						=			block_sizes
					__snake_case      :							str						=			[1] * len(_a) if block_repeats is None else block_repeats
					assert len(_a) == len(
					    self.block_repeats), "`block_sizes` and `block_repeats` should have the same length."
					__snake_case      :							List[str]						=			num_decoder_layers
					__snake_case      :							Any						=			d_model
					__snake_case      :							List[str]						=			n_head
					__snake_case      :							Union[str, Any]						=			d_head
					__snake_case      :							str						=			d_inner
					__snake_case      :							Union[str, Any]						=			hidden_act
					__snake_case      :							List[Any]						=			hidden_dropout
					__snake_case      :							Any						=			attention_dropout
					__snake_case      :							List[Any]						=			activation_dropout
					__snake_case      :							Optional[Any]						=			initializer_range
					__snake_case      :							Union[str, Any]						=			initializer_std
					__snake_case      :							Optional[int]						=			layer_norm_eps
					assert pooling_type in [
					    "mean",
					    "max",
					], f"Got {pooling_type} for `pooling_type` but only \'mean\' and \'max\' are supported."
					__snake_case      :							Union[str, Any]						=			pooling_type
					assert attention_type in [
					    "relative_shift",
					    "factorized",
					], f"Got {attention_type} for `attention_type` but only \'relative_shift\' and \'factorized\' are supported."
					__snake_case      :							Optional[Any]						=			attention_type
					__snake_case      :							Dict						=			separate_cls
					__snake_case      :							Optional[int]						=			truncate_seq
					__snake_case      :							List[Any]						=			pool_q_only

					super().__init__(**_a)



				@property
				def  _lowercase					(self    :				str)   ->     int:
					return sum(self.block_sizes)



				@num_hidden_layers.setter
				def  _lowercase					(self    :				str     ,  _A    :				Union[str, Any])   ->     Dict:
					raise NotImplementedError(
					    'This model does not support the setting of `num_hidden_layers`. Please set `block_sizes`.')



				@property
				def  _lowercase					(self    :				Optional[Any])   ->     Tuple:
					return len(self.block_sizes)






				@num_blocks.setter
				def  _lowercase					(self    :				Tuple     ,  _A    :				List[Any])   ->     Any:
					raise NotImplementedError('This model does not support the setting of `num_blocks`. Please set `block_sizes`.')






"""simple docstring"""







from __future__ import annotations

import math
def   __UpperCAmelCase    (   UpperCAmelCase_   :    int  )							->      bool:

	'''simple docstring'''





	if 1 < number < 4:
		# 2 and 3 are primes
		return True
	elif number < 2 or number % 2 == 0 or number % 3 == 0:
		# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
		return False

	# All primes number are in format of 6k +/- 1
	for i in range(5      ,							int(math.sqrt(UpperCAmelCase_  ) + 1  )      ,							6  ):
		if number % i == 0 or number % (i + 2) == 0:
			return False
	return True


_a					:					Any=			[num for num in range(3, 100_001, 2) if not is_prime(num)]
def   __UpperCAmelCase    (   UpperCAmelCase_   :    int  )							->      list[int]:

	'''simple docstring'''





	if not isinstance(UpperCAmelCase_      ,							UpperCAmelCase_  ):
		raise ValueError('n must be an integer'  )
	if n <= 0:
		raise ValueError('n must be >= 0'  )

	__snake_case      :							int						=			[]
	for num in range(len(UpperCAmelCase_  )  ):
		__snake_case      :							List[str]						=			0
		while 2 * i * i <= odd_composites[num]:
			__snake_case      :							List[Any]						=			odd_composites[num] - 2 * i * i
			if is_prime(UpperCAmelCase_  ):
				break
			i += 1
		else:
			list_nums.append(odd_composites[num]  )
			if len(UpperCAmelCase_  ) == n:
				return list_nums

	return []
def   __UpperCAmelCase    (   )							->      int:

	'''simple docstring'''





	return compute_nums(1  )[0]


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





