




'''simple docstring'''
from functools import lru_cache





def 			lowerCamelCase(							SCREAMING_SNAKE_CASE_     )		->		set:
			A_									= 2
			A_									= set()
			while i * i <= n:
						if n % i:
									i += 1
						else:
									n //= i
									factors.add(SCREAMING_SNAKE_CASE_     )
			if n > 1:
						factors.add(SCREAMING_SNAKE_CASE_     )
			return factors





@lru_cache
def 			lowerCamelCase(							SCREAMING_SNAKE_CASE_     )		->		int:
			return len(unique_prime_factors(SCREAMING_SNAKE_CASE_     )     )





def 			lowerCamelCase(							SCREAMING_SNAKE_CASE_     )		->		bool:
			return len(set(SCREAMING_SNAKE_CASE_     )     ) in (0, 1)





def 			lowerCamelCase(							SCREAMING_SNAKE_CASE_     )		->		list:
			A_									= 2

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

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

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

						# Increment our base variable by 1
						base += 1





def 			lowerCamelCase(							SCREAMING_SNAKE_CASE_ = 4     )		->		int:
			A_									= run(SCREAMING_SNAKE_CASE_     )
			return results[0] if len(SCREAMING_SNAKE_CASE_     ) else None


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










'''simple docstring'''
from ...configuration_utils import PretrainedConfig
from ...utils import logging


_SCREAMING_SNAKE_CASE			=						logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE			=						{"openai-gpt": "https://huggingface.co/openai-gpt/resolve/main/config.json"}
class   __UpperCAmelCase				(     lowerCAmelCase				):



					'''simple docstring'''





					_UpperCamelCase							=		"""openai-gpt"""
					_UpperCamelCase							=		{
					    """max_position_embeddings""": """n_positions""",
					    """hidden_size""": """n_embd""",
					    """num_attention_heads""": """n_head""",
					    """num_hidden_layers""": """n_layer""",
					}



					def __init__(	self     :						Any      ,       _lowercase     :						List[Any]=40_478      ,       _lowercase     :						Tuple=512      ,       _lowercase     :						Dict=768      ,       _lowercase     :						List[str]=12      ,       _lowercase     :						Optional[int]=12      ,       _lowercase     :						Tuple="gelu"      ,       _lowercase     :						int=0.1      ,       _lowercase     :						Tuple=0.1      ,       _lowercase     :						Any=0.1      ,       _lowercase     :						List[str]=1E-5      ,       _lowercase     :						str=0.02      ,       _lowercase     :						Optional[Any]="cls_index"      ,       _lowercase     :						int=True      ,       _lowercase     :						str=None      ,       _lowercase     :						Tuple=True      ,       _lowercase     :						List[Any]=0.1      ,       **_lowercase     :						int      ,       )    ->							Optional[int]:
								A_									= vocab_size
								A_									= n_positions
								A_									= n_embd
								A_									= n_layer
								A_									= n_head
								A_									= afn
								A_									= resid_pdrop
								A_									= embd_pdrop
								A_									= attn_pdrop
								A_									= layer_norm_epsilon
								A_									= initializer_range
								A_									= summary_type
								A_									= summary_use_proj
								A_									= summary_activation
								A_									= summary_first_dropout
								A_									= summary_proj_to_labels
								super().__init__(**_lowercase)




