
'''simple docstring'''

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


__UpperCAmelCase												=   logging.get_logger(__name__)

__UpperCAmelCase												=   {
    'uw-madison/nystromformer-512': 'https://huggingface.co/uw-madison/nystromformer-512/resolve/main/config.json',
    # See all Nystromformer models at https://huggingface.co/models?filter=nystromformer
}


class 		_a     (							SCREAMING_SNAKE_CASE  ):







   """simple docstring"""




   A		= 'nystromformer'






   def __init__(       self    ,__SCREAMING_SNAKE_CASE=30000    ,__SCREAMING_SNAKE_CASE=768    ,__SCREAMING_SNAKE_CASE=12    ,__SCREAMING_SNAKE_CASE=12    ,__SCREAMING_SNAKE_CASE=3072    ,__SCREAMING_SNAKE_CASE="gelu_new"    ,__SCREAMING_SNAKE_CASE=0.1    ,__SCREAMING_SNAKE_CASE=0.1    ,__SCREAMING_SNAKE_CASE=510    ,__SCREAMING_SNAKE_CASE=2    ,__SCREAMING_SNAKE_CASE=64    ,__SCREAMING_SNAKE_CASE=64    ,__SCREAMING_SNAKE_CASE=65    ,__SCREAMING_SNAKE_CASE=False    ,__SCREAMING_SNAKE_CASE=0.02    ,__SCREAMING_SNAKE_CASE=1e-5    ,__SCREAMING_SNAKE_CASE=1    ,__SCREAMING_SNAKE_CASE=0    ,__SCREAMING_SNAKE_CASE=2    ,**__SCREAMING_SNAKE_CASE    ,):
    SCREAMING_SNAKE_CASE  :  Any								=		vocab_size
    SCREAMING_SNAKE_CASE  :  int								=		max_position_embeddings
    SCREAMING_SNAKE_CASE  :  List[Any]								=		hidden_size
    SCREAMING_SNAKE_CASE  :  Tuple								=		num_hidden_layers
    SCREAMING_SNAKE_CASE  :  Any								=		num_attention_heads
    SCREAMING_SNAKE_CASE  :  Optional[int]								=		intermediate_size
    SCREAMING_SNAKE_CASE  :  List[str]								=		hidden_act
    SCREAMING_SNAKE_CASE  :  int								=		hidden_dropout_prob
    SCREAMING_SNAKE_CASE  :  Tuple								=		attention_probs_dropout_prob
    SCREAMING_SNAKE_CASE  :  Any								=		initializer_range
    SCREAMING_SNAKE_CASE  :  List[Any]								=		type_vocab_size
    SCREAMING_SNAKE_CASE  :  int								=		segment_means_seq_len
    SCREAMING_SNAKE_CASE  :  str								=		num_landmarks
    SCREAMING_SNAKE_CASE  :  List[Any]								=		conv_kernel_size
    SCREAMING_SNAKE_CASE  :  str								=		inv_coeff_init_option
    SCREAMING_SNAKE_CASE  :  Any								=		layer_norm_eps
    super().__init__(pad_token_id=__SCREAMING_SNAKE_CASE    ,bos_token_id=__SCREAMING_SNAKE_CASE    ,eos_token_id=__SCREAMING_SNAKE_CASE    ,**__SCREAMING_SNAKE_CASE      )




'''simple docstring'''

def        SCREAMING_SNAKE_CASE_  (	snake_case_				:	int							)       ->	int:
 if number != int(snake_case_							):
  raise ValueError('factorial() only accepts integral values'							)
 if number < 0:
  raise ValueError('factorial() not defined for negative values'							)
 SCREAMING_SNAKE_CASE  :  str								=		1
 for i in range(1   ,     number + 1							):
  value *= i
 return value



def        SCREAMING_SNAKE_CASE_  (	snake_case_				:	int							)       ->	int:
 if not isinstance(snake_case_   ,     snake_case_							):
  raise ValueError('factorial() only accepts integral values'							)
 if n < 0:
  raise ValueError('factorial() not defined for negative values'							)
 return 1 if n == 0 or n == 1 else n * factorial(n - 1							)


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   __UpperCAmelCase												=   int(input('Enter a positive integer: ').strip() or 0)
   print(f"""factorial{n} is {factorial(n)}""")


