'''simple docstring'''


import logging

from transformers import PretrainedConfig


__snake_case						  =		logging.getLogger(__name__)


__snake_case						  =		{
    """bertabs-finetuned-cnndm""": """https://huggingface.co/remi/bertabs-finetuned-cnndm-extractive-abstractive-summarization/resolve/main/config.json""",
}





class       _a    (		__a      ):


  """simple docstring"""

  A_    							=						'''bertabs'''




  def __init__(		self      :       Tuple   ,				lowercase_      :       Optional[Any]=30_522   ,				lowercase_      :       int=512   ,				lowercase_      :       List[str]=6   ,				lowercase_      :       Tuple=512   ,				lowercase_      :       Union[str, Any]=8   ,				lowercase_      :       Union[str, Any]=512   ,				lowercase_      :       List[str]=0.2   ,				lowercase_      :       Any=6   ,				lowercase_      :       str=768   ,				lowercase_      :       Optional[Any]=8   ,				lowercase_      :       List[Any]=2_048   ,				lowercase_      :       List[str]=0.2   ,				**lowercase_      :       Dict   ,				):







    '''simple docstring'''


    super().__init__(**lowercase_      )

    lowercase_     =       vocab_size
    lowercase_     =       max_pos

    lowercase_     =       enc_layers
    lowercase_     =       enc_hidden_size
    lowercase_     =       enc_heads
    lowercase_     =       enc_ff_size
    lowercase_     =       enc_dropout

    lowercase_     =       dec_layers
    lowercase_     =       dec_hidden_size
    lowercase_     =       dec_heads
    lowercase_     =       dec_ff_size
    lowercase_     =       dec_dropout


'''simple docstring'''


import math

def   A_      (       SCREAMING_SNAKE_CASE_						)			->int:

  if not isinstance(SCREAMING_SNAKE_CASE_ ,	SCREAMING_SNAKE_CASE_						):
    lowercase_     =       f"""Input value of [number={number}] must be an integer"""
    raise TypeError(SCREAMING_SNAKE_CASE_						)

  if number < 1:
    lowercase_     =       f"""Input value of [number={number}] must be > 0"""
    raise ValueError(SCREAMING_SNAKE_CASE_						)
  elif number == 1:
    return 3
  elif number == 2:
    return 5
  else:
    lowercase_     =       int(math.log(number // 3 ,	2						)						) + 2

    lowercase_     =       [3, 5]
    lowercase_     =       2
    lowercase_     =       3
    for block in range(1 ,	SCREAMING_SNAKE_CASE_						):
      for _ in range(SCREAMING_SNAKE_CASE_						):
        proth_list.append(2 ** (block + 1) + proth_list[proth_index - 1]						)
        proth_index += 1
      increment *= 2

  return proth_list[number - 1]


if __name__ == "__main__":
       import doctest

       doctest.testmod()

       for number in range(11):
              __snake_case						  =		0
              try:
                     __snake_case						  =		proth(number)
              except ValueError:
                     print(f'''ValueError: there is no {number}th Proth number''')
                     continue

              print(f'''The {number}th Proth number: {value}''')

