


'''simple docstring'''







import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig
class  lowercase_					(   UpperCAmelCase__       ):
    __UpperCAmelCase             =     CustomConfig


    def __init__(					self  , a   ):
          super().__init__(a   )
          UpperCamelCase__  =    torch.nn.Linear(config.hidden_size  , config.hidden_size   )


    def        __a							(					self  , a   ):
          return self.linear(a   )


    def        __a							(					self  , a   ):
          pass

class  lowercase_					(   UpperCAmelCase__       ):
    __UpperCAmelCase             =     NoSuperInitConfig


    def __init__(					self  , a   ):
          super().__init__(a   )
          UpperCamelCase__  =    torch.nn.Linear(config.attribute  , config.attribute   )


    def        __a							(					self  , a   ):
          return self.linear(a   )


    def        __a							(					self  , a   ):
          pass







'''simple docstring'''







def _UpperCamelCase	(					__A   )							->		int:


      '''simple docstring'''



      if number != int(__A   ):
            raise ValueError("factorial() only accepts integral values"   )
      if number < 0:
            raise ValueError("factorial() not defined for negative values"   )
      UpperCamelCase__  =    1
      for i in range(1				,      number + 1   ):
            value *= i
      return value







def _UpperCamelCase	(					__A   )							->		int:


      '''simple docstring'''



      if not isinstance(__A				,      __A   ):
            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()

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





