import math
import sys

def 							UpperCamelCase				(    lowerCAmelCase_   )		->						int:




       '''simple docstring'''






       if number != int(lowerCAmelCase_   ):
              raise ValueError('the value of input must be a natural number'   )
       if number < 0:
              raise ValueError('the value of input must not be a negative number'   )
       if number == 0:
              return 1
       _A=	[-1] * (number + 1)
       _A=	0
       for i in range(1       ,					number + 1   ):
              _A=	sys.maxsize
              _A=	int(math.sqrt(lowerCAmelCase_   )   )
              for j in range(1       ,					root + 1   ):
                     _A=	1 + answers[i - (j**2)]
                     _A=	min(lowerCAmelCase_       ,					lowerCAmelCase_   )
              _A=	answer
       return answers[number]


if __name__ == "__main__":
      import doctest

      doctest.testmod()
from ..utils import DummyObject, requires_backends





class      lowerCAmelCase						(					metaclass=_a			):
     _SCREAMING_SNAKE_CASE     :     Optional[int]		=["""transformers""", """torch""", """note_seq"""]



     def __init__(					self				,      *lowerCAmelCase__				,      **lowerCAmelCase__       ):
            requires_backends(self				,      ['transformers', 'torch', 'note_seq']       )



     @classmethod
     def 			a__  (					cls				,      *lowerCAmelCase__				,      **lowerCAmelCase__       ):
            requires_backends(cls				,      ['transformers', 'torch', 'note_seq']       )





     @classmethod
     def 			a__  (					cls				,      *lowerCAmelCase__				,      **lowerCAmelCase__       ):
            requires_backends(cls				,      ['transformers', 'torch', 'note_seq']       )