





'''simple docstring'''

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


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

__lowerCamelCase : int											=			{
    "google/pegasus-large": "https://huggingface.co/google/pegasus-large/resolve/main/config.json",
    # See all PEGASUS models at https://huggingface.co/models?filter=pegasus
}

class       UpperCAmelCase (						_lowercase  ):
		UpperCAmelCase					:	int 			=		'''pegasus'''
		UpperCAmelCase					:	Union[str, Any] 			=		['''past_key_values''']
		UpperCAmelCase					:	List[Any] 			=		{'''num_attention_heads''': '''encoder_attention_heads''', '''hidden_size''': '''d_model'''}




		def __init__(self      :	Tuple							,			A__      :	Dict=5_0_2_6_5							,			A__      :	Dict=1_0_2_4							,			A__      :	int=1_2							,			A__      :	Dict=4_0_9_6							,			A__      :	Optional[Any]=1_6							,			A__      :	Dict=1_2							,			A__      :	Union[str, Any]=4_0_9_6							,			A__      :	str=1_6							,			A__      :	List[str]=0.0							,			A__      :	List[str]=0.0							,			A__      :	str=True							,			A__      :	Any=True							,			A__      :	List[str]="gelu"							,			A__      :	Dict=1_0_2_4							,			A__      :	List[Any]=0.1							,			A__      :	str=0.0							,			A__      :	Tuple=0.0							,			A__      :	Union[str, Any]=0.0_2							,			A__      :	str=0							,			A__      :	Tuple=False							,			A__      :	Union[str, Any]=0							,			A__      :	Any=1							,			A__      :	Union[str, Any]=1							,			**A__      :	Union[str, Any]							,			)					-> Optional[int]:
						lowercase         = vocab_size
						lowercase         = max_position_embeddings
						lowercase         = d_model
						lowercase         = encoder_ffn_dim
						lowercase         = encoder_layers
						lowercase         = encoder_attention_heads
						lowercase         = decoder_ffn_dim
						lowercase         = decoder_layers
						lowercase         = decoder_attention_heads
						lowercase         = dropout
						lowercase         = attention_dropout
						lowercase         = activation_dropout
						lowercase         = activation_function
						lowercase         = init_std
						lowercase         = encoder_layerdrop
						lowercase         = decoder_layerdrop
						lowercase         = use_cache
						lowercase         = encoder_layers
						lowercase         = scale_embedding  # scale factor will be sqrt(d_model) if True
						super().__init__(
						    pad_token_id=A__							,			eos_token_id=A__							,			is_encoder_decoder=A__							,			decoder_start_token_id=A__							,			forced_eos_token_id=A__							,			**A__							,			)




		@property
		def 				UpperCAmelCase__   (self      :	str				)					-> int:
						return self.encoder_attention_heads





		@property
		def 				UpperCAmelCase__   (self      :	Optional[int]				)					-> int:
						return self.d_model







'''simple docstring'''

from functools import lru_cache







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				lowercase         = 2
				lowercase         = set()
				while i * i <= n:
								if n % i:
												i += 1
								else:
												n //= i
												factors.add(lowerCAmelCase_							)
				if n > 1:
								factors.add(lowerCAmelCase_							)
				return factors







@lru_cache
def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				return len(unique_prime_factors(lowerCAmelCase_							)							)







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				return len(set(lowerCAmelCase_							)							) in (0, 1)







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				lowercase         = 2

				while True:
								# Increment each value of a generated range
								lowercase         = [base + i for i in range(lowerCAmelCase_							)]

								# Run elements through out unique_prime_factors function
								# Append our target number to the end.
								lowercase         = [upf_len(lowerCAmelCase_							) for x in group]
								checker.append(lowerCAmelCase_							)

								# If all numbers in the list are equal, return the group variable.
								if equality(lowerCAmelCase_							):
												return group

								# Increment our base variable by 1
								base += 1







def 							UpperCAmelCase_    (	lowerCAmelCase_ = 4							):

				"""simple docstring"""






				lowercase         = run(lowerCAmelCase_							)
				return results[0] if len(lowerCAmelCase_							) else None


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




