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


lowerCAmelCase__	:  Any						=  logging.get_logger(__name__)

lowerCAmelCase__	:  str						=  {
    '''facebook/opt-125m''': '''https://huggingface.co/facebook/opt-125m/blob/main/config.json''',
    '''facebook/opt-350m''': '''https://huggingface.co/facebook/opt-350m/blob/main/config.json''',
    '''facebook/opt-1.3b''': '''https://huggingface.co/facebook/opt-1.3b/blob/main/config.json''',
    '''facebook/opt-2.7b''': '''https://huggingface.co/facebook/opt-2.7b/blob/main/config.json''',
    '''facebook/opt-6.7b''': '''https://huggingface.co/facebook/opt-6.7b/blob/main/config.json''',
    '''facebook/opt-13b''': '''https://huggingface.co/facebook/opt-13b/blob/main/config.json''',
}





class 					__snake_case    (     _lowerCamelCase      ):
					__lowerCamelCase			   =  """opt"""
					__lowerCamelCase			   =  ["""past_key_values"""]




					def __init__(  self       ,			__UpperCamelCase=50272       ,			__UpperCamelCase=768       ,			__UpperCamelCase=12       ,			__UpperCamelCase=3072       ,			__UpperCamelCase=2048       ,			__UpperCamelCase=True       ,			__UpperCamelCase=False       ,			__UpperCamelCase=None       ,			__UpperCamelCase=0.1       ,			__UpperCamelCase=0.0       ,			__UpperCamelCase=12       ,			__UpperCamelCase="relu"       ,			__UpperCamelCase=0.0       ,			__UpperCamelCase=0.0_2       ,			__UpperCamelCase=True       ,			__UpperCamelCase=1       ,			__UpperCamelCase=2       ,			__UpperCamelCase=2       ,			__UpperCamelCase=True       ,			__UpperCamelCase=True       ,			**__UpperCamelCase       ,			)	->    List[str]:



									'''simple docstring'''







									super().__init__(
									    pad_token_id=__UpperCamelCase       ,			bos_token_id=__UpperCamelCase       ,			eos_token_id=__UpperCamelCase       ,			**__UpperCamelCase       ,			)
									snake_case__   :      int   				= vocab_size
									snake_case__   :      int   				= max_position_embeddings
									snake_case__   :      str   				= num_attention_heads
									snake_case__   :      Dict   				= word_embed_proj_dim if word_embed_proj_dim is not None else hidden_size
									snake_case__   :      List[Any]   				= ffn_dim
									snake_case__   :      List[str]   				= hidden_size
									snake_case__   :      int   				= num_hidden_layers
									snake_case__   :      Union[str, Any]   				= dropout
									snake_case__   :      List[str]   				= attention_dropout
									snake_case__   :      Any   				= activation_function
									snake_case__   :      Optional[Any]   				= init_std
									snake_case__   :      Tuple   				= layerdrop
									snake_case__   :      Tuple   				= use_cache
									snake_case__   :      Dict   				= do_layer_norm_before
									# We keep these variables at `True` for backward compatibility.
									snake_case__   :      List[Any]   				= enable_bias
									snake_case__   :      Dict   				= layer_norm_elementwise_affine

									# Note that the only purpose of `_remove_final_layer_norm` is to keep backward compatibility
									# with checkpoints that have been fine-tuned before transformers v4.20.1
									# see https://github.com/facebookresearch/metaseq/pull/164
									snake_case__   :      List[Any]   				= _remove_final_layer_norm



def 					UpperCamelCase__		(							A__ = 400_0000       )  ->   int:

				if n <= 1:
								return 0
				snake_case__   :      Optional[Any]   				= 0
				snake_case__   :      Optional[int]   				= 2
				snake_case__   :      str   				= 0
				while 4 * b + a <= n:
								snake_case__				,    snake_case__   :      Optional[Any]   				= b, 4 * b + a
								count += a
				return count + b


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


