


'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


A   :  str       		=				{
    '''configuration_codegen''': ['''CODEGEN_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CodeGenConfig''', '''CodeGenOnnxConfig'''],
    '''tokenization_codegen''': ['''CodeGenTokenizer'''],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A   :  Optional[Any]       		=				['''CodeGenTokenizerFast''']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A   :  Optional[int]       		=				[
          '''CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''CodeGenForCausalLM''',
          '''CodeGenModel''',
          '''CodeGenPreTrainedModel''',
      ]

if TYPE_CHECKING:
      from .configuration_codegen import CODEGEN_PRETRAINED_CONFIG_ARCHIVE_MAP, CodeGenConfig, CodeGenOnnxConfig
      from .tokenization_codegen import CodeGenTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_codegen_fast import CodeGenTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_codegen import (
                CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST,
                CodeGenForCausalLM,
                CodeGenModel,
                CodeGenPreTrainedModel,
            )

else:
      import sys

      A   :  List[str]       		=				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)










'''simple docstring'''







import itertools






def    lowerCAmelCase__ (       lowerCamelCase  :    int = 1000000     ):
       _A  :			str											=      [1]

       for i in itertools.count(len(lowerCamelCase     )     ):
              _A  :			Optional[Any]											=      0
              for j in itertools.count(1     ):
                     _A  :			int											=      -1 if j % 2 == 0 else +1
                     _A  :			Optional[Any]											=      (j * j * 3 - j) // 2
                     if index > i:
                            break
                     item += partitions[i - index] * sign
                     item %= number
                     index += j
                     if index > i:
                            break
                     item += partitions[i - index] * sign
                     item %= number

              if item == 0:
                     return i
              partitions.append(lowerCamelCase     )

       return 0


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   print(f"""{solution() = }""")






