import math





def 							UpperCAmelCase		(       lowercase				):







				"""simple docstring"""



				__lowercase					     =				math.loga(math.sqrt(4 * positive_integer + 1				) / 2 + 1 / 2				)

				return exponent == int(lowercase				)





def 							UpperCAmelCase		(       lowercase = 1 / 12345				):







				"""simple docstring"""



				__lowercase					     =				0
				__lowercase					     =				0

				__lowercase					     =				3
				while True:
								__lowercase					     =				(integer**2 - 1) / 4
								# if candidate is an integer, then there is a partition for k
								if partition_candidate == int(lowercase				):
												__lowercase					     =				int(lowercase				)
												total_partitions += 1
												if check_partition_perfect(lowercase				):
																perfect_partitions += 1
								if perfect_partitions > 0:
												if perfect_partitions / total_partitions < max_proportion:
																return int(lowercase				)
								integer += 1


if __name__ == "__main__":
		print(F'''{solution() = }''')
from ...configuration_utils import PretrainedConfig
from ...utils import logging


__a    :	int         =    logging.get_logger(__name__)

__a    :	Optional[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 (		_UpperCAmelCase					):


			"""simple docstring"""






			__a    :					Any     					=		'''pegasus'''
			__a    :					Optional[Any]     					=		['''past_key_values''']
			__a    :					Tuple     					=		{'''num_attention_heads''': '''encoder_attention_heads''', '''hidden_size''': '''d_model'''}





			def __init__(  self ,  lowerCAmelCase__=5_02_65 ,  lowerCAmelCase__=10_24 ,  lowerCAmelCase__=12 ,  lowerCAmelCase__=40_96 ,  lowerCAmelCase__=16 ,  lowerCAmelCase__=12 ,  lowerCAmelCase__=40_96 ,  lowerCAmelCase__=16 ,  lowerCAmelCase__=0.0 ,  lowerCAmelCase__=0.0 ,  lowerCAmelCase__=True ,  lowerCAmelCase__=True ,  lowerCAmelCase__="gelu" ,  lowerCAmelCase__=10_24 ,  lowerCAmelCase__=0.1 ,  lowerCAmelCase__=0.0 ,  lowerCAmelCase__=0.0 ,  lowerCAmelCase__=0.02 ,  lowerCAmelCase__=0 ,  lowerCAmelCase__=False ,  lowerCAmelCase__=0 ,  lowerCAmelCase__=1 ,  lowerCAmelCase__=1 ,  **lowerCAmelCase__ ,  )	->   Dict:

							'''simple docstring'''


							__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=lowerCAmelCase__ ,  eos_token_id=lowerCAmelCase__ ,  is_encoder_decoder=lowerCAmelCase__ ,  decoder_start_token_id=lowerCAmelCase__ ,  forced_eos_token_id=lowerCAmelCase__ ,  **lowerCAmelCase__ ,  )





			@property
			def 			_SCREAMING_SNAKE_CASE     (  self		)	->   int:

							'''simple docstring'''


							return self.encoder_attention_heads





			@property
			def 			_SCREAMING_SNAKE_CASE     (  self		)	->   int:

							'''simple docstring'''


							return self.d_model