

'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__lowerCamelCase						    =      {
    """configuration_x_clip""": [
        """XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """XCLIPConfig""",
        """XCLIPTextConfig""",
        """XCLIPVisionConfig""",
    ],
    """processing_x_clip""": ["""XCLIPProcessor"""],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __lowerCamelCase						    =      [
          """XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """XCLIPModel""",
          """XCLIPPreTrainedModel""",
          """XCLIPTextModel""",
          """XCLIPVisionModel""",
      ]

if TYPE_CHECKING:
      from .configuration_x_clip import (
          XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
          XCLIPConfig,
          XCLIPTextConfig,
          XCLIPVisionConfig,
      )
      from .processing_x_clip import XCLIPProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_x_clip import (
                XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                XCLIPModel,
                XCLIPPreTrainedModel,
                XCLIPTextModel,
                XCLIPVisionModel,
            )

else:
      import sys

      __lowerCamelCase						    =      _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



'''simple docstring'''







import math
import sys
def  UpperCAmelCase__      ( UpperCAmelCase__			)     ->     int:
       if number != int(UpperCAmelCase__			):
              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(UpperCAmelCase__			)			)
              for j in range(1,    root + 1			):
                     A_		   = 1 + answers[i - (j**2)]
                     A_		   = min(UpperCAmelCase__,    UpperCAmelCase__			)
              A_		   = answer
       return answers[number]


if __name__ == "__main__":
      import doctest

      doctest.testmod()
