





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE				)							-> int:




    """simple docstring"""




    _A     =							0
    while num > 0:
        digit_sum += num % 10
        num //= 10
    return digit_sum





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE = 100				)							-> int:




    """simple docstring"""




    _A     =							1
    _A     =							2

    for i in range(2							,     max_n + 1				):
        _A     =							pre_numerator
        _A     =							2 * i // 3 if i % 3 == 0 else 1
        _A     =							cur_numerator
        _A     =							e_cont * pre_numerator + temp

    return sum_digits(_SCREAMING_SNAKE_CASE				)


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












'''simple docstring'''


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


_SCREAMING_SNAKE_CASE									=				logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE									=				{
    "bigcode/gpt_bigcode-santacoder": "https://huggingface.co/bigcode/gpt_bigcode-santacoder/resolve/main/config.json",
}

class  lowerCAmelCase_		(		__magic_name__		):
 __lowerCamelCase    :				str								=       "gpt_bigcode"
 __lowerCamelCase    :				Optional[int]								=       ["past_key_values"]
 __lowerCamelCase    :				List[str]								=       {
     "hidden_size": "n_embd",
     "max_position_embeddings": "n_positions",
     "num_attention_heads": "n_head",
     "num_hidden_layers": "n_layer",
 }




 def __init__(						self      ,  _lowerCAmelCase=50257      ,  _lowerCAmelCase=1024      ,  _lowerCAmelCase=768      ,  _lowerCAmelCase=12      ,  _lowerCAmelCase=12      ,  _lowerCAmelCase=None      ,  _lowerCAmelCase="gelu_pytorch_tanh"      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase=0.1      ,  _lowerCAmelCase=1E-5      ,  _lowerCAmelCase=0.02      ,  _lowerCAmelCase=True      ,  _lowerCAmelCase=True      ,  _lowerCAmelCase=50256      ,  _lowerCAmelCase=50256      ,  _lowerCAmelCase=True      ,  _lowerCAmelCase=True      ,  _lowerCAmelCase=True      ,  **_lowerCAmelCase      ,  )     ->				List[Any]:
     _lowerCAmelCase						      =   vocab_size
     _lowerCAmelCase						      =   n_positions
     _lowerCAmelCase						      =   n_embd
     _lowerCAmelCase						      =   n_layer
     _lowerCAmelCase						      =   n_head
     _lowerCAmelCase						      =   n_inner
     _lowerCAmelCase						      =   activation_function
     _lowerCAmelCase						      =   resid_pdrop
     _lowerCAmelCase						      =   embd_pdrop
     _lowerCAmelCase						      =   attn_pdrop
     _lowerCAmelCase						      =   layer_norm_epsilon
     _lowerCAmelCase						      =   initializer_range
     _lowerCAmelCase						      =   scale_attn_weights
     _lowerCAmelCase						      =   use_cache
     _lowerCAmelCase						      =   attention_softmax_in_fpaa
     _lowerCAmelCase						      =   scale_attention_softmax_in_fpaa
     _lowerCAmelCase						      =   multi_query

     _lowerCAmelCase						      =   bos_token_id
     _lowerCAmelCase						      =   eos_token_id

     super().__init__(bos_token_id=_lowerCAmelCase      ,  eos_token_id=_lowerCAmelCase      ,  **_lowerCAmelCase		)


