



def 				UpperCAmelCase__		(					_SCREAMING_SNAKE_CASE :						int					)->str:
      _lowerCAmelCase			      =	1
      _lowerCAmelCase			      =	0
      _lowerCAmelCase			      =	1
      _lowerCAmelCase			      =	1
      _lowerCAmelCase			      =	3
      _lowerCAmelCase			      =	3
      _lowerCAmelCase			      =	limit
      _lowerCAmelCase			      =	0

      _lowerCAmelCase			      =	''''''
      while counter != decimal + 1:
            if 4 * q + r - t < n * t:
                  result += str(_SCREAMING_SNAKE_CASE					)
                  if counter == 0:
                        result += "."

                  if decimal == counter:
                        break

                  counter += 1
                  _lowerCAmelCase			      =	1_0 * (r - n * t)
                  _lowerCAmelCase			      =	((1_0 * (3 * q + r)) // t) - 1_0 * n
                  q *= 1_0
                  _lowerCAmelCase			      =	nr
            else:
                  _lowerCAmelCase			      =	(2 * q + r) * l
                  _lowerCAmelCase			      =	(q * (7 * k) + 2 + (r * l)) // (t * l)
                  q *= k
                  t *= l
                  l += 2
                  k += 1
                  _lowerCAmelCase			      =	nn
                  _lowerCAmelCase			      =	nr
      return result
def 				UpperCAmelCase__		(					)->None:
      print(f'''{calculate_pi(5_0					) = }'''					)
      import doctest

      doctest.testmod()


if __name__ == "__main__":
    main()




from typing import List, Union

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


UpperCAmelCase_          =				logging.get_logger(__name__)

UpperCAmelCase_          =				{
    "allenai/led-base-16384": "https://huggingface.co/allenai/led-base-16384/resolve/main/config.json",
    # See all LED models at https://huggingface.co/models?filter=led
}





class 		UpperCAmelCase    (    snake_case_					):
   SCREAMING_SNAKE_CASE__					      =  '''led'''
   SCREAMING_SNAKE_CASE__					      =  {
       '''num_attention_heads''': '''encoder_attention_heads''',
       '''hidden_size''': '''d_model''',
       '''attention_probs_dropout_prob''': '''attention_dropout''',
       '''initializer_range''': '''init_std''',
   }





   def __init__(						self							,  _lowerCAmelCase=50_265							,  _lowerCAmelCase=16_384							,  _lowerCAmelCase=1_024							,  _lowerCAmelCase=12							,  _lowerCAmelCase=4_096							,  _lowerCAmelCase=16							,  _lowerCAmelCase=12							,  _lowerCAmelCase=4_096							,  _lowerCAmelCase=16							,  _lowerCAmelCase=0.0							,  _lowerCAmelCase=0.0							,  _lowerCAmelCase=True							,  _lowerCAmelCase=True							,  _lowerCAmelCase="gelu"							,  _lowerCAmelCase=1_024							,  _lowerCAmelCase=0.1							,  _lowerCAmelCase=0.0							,  _lowerCAmelCase=0.0							,  _lowerCAmelCase=0.02							,  _lowerCAmelCase=2							,  _lowerCAmelCase=0.0							,  _lowerCAmelCase=1							,  _lowerCAmelCase=0							,  _lowerCAmelCase=2							,  _lowerCAmelCase = 512							,  **_lowerCAmelCase							,  ):
         _lowerCAmelCase			      =	vocab_size
         _lowerCAmelCase			      =	max_encoder_position_embeddings
         _lowerCAmelCase			      =	max_decoder_position_embeddings
         _lowerCAmelCase			      =	d_model
         _lowerCAmelCase			      =	encoder_ffn_dim
         _lowerCAmelCase			      =	encoder_layers
         _lowerCAmelCase			      =	encoder_attention_heads
         _lowerCAmelCase			      =	decoder_ffn_dim
         _lowerCAmelCase			      =	decoder_layers
         _lowerCAmelCase			      =	decoder_attention_heads
         _lowerCAmelCase			      =	dropout
         _lowerCAmelCase			      =	attention_dropout
         _lowerCAmelCase			      =	activation_dropout
         _lowerCAmelCase			      =	activation_function
         _lowerCAmelCase			      =	init_std
         _lowerCAmelCase			      =	encoder_layerdrop
         _lowerCAmelCase			      =	decoder_layerdrop
         _lowerCAmelCase			      =	classifier_dropout
         _lowerCAmelCase			      =	use_cache
         _lowerCAmelCase			      =	encoder_layers
         _lowerCAmelCase			      =	attention_window

         super().__init__(
             pad_token_id=_lowerCAmelCase							,  bos_token_id=_lowerCAmelCase							,  eos_token_id=_lowerCAmelCase							,  is_encoder_decoder=_lowerCAmelCase							,  decoder_start_token_id=_lowerCAmelCase							,  **_lowerCAmelCase							,  )