





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


__lowercase       :int       =  {"configuration_reformer": ["REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "ReformerConfig"]}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowercase       :Any       =  ["ReformerTokenizer"]

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowercase       :Tuple       =  ["ReformerTokenizerFast"]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowercase       :Any       =  [
				    "REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "ReformerAttention",
				    "ReformerForMaskedLM",
				    "ReformerForQuestionAnswering",
				    "ReformerForSequenceClassification",
				    "ReformerLayer",
				    "ReformerModel",
				    "ReformerModelWithLMHead",
				    "ReformerPreTrainedModel",
				]


if TYPE_CHECKING:
				from .configuration_reformer import REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, ReformerConfig

				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_reformer import ReformerTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_reformer_fast import ReformerTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_reformer import (
								    REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
								    ReformerAttention,
								    ReformerForMaskedLM,
								    ReformerForQuestionAnswering,
								    ReformerForSequenceClassification,
								    ReformerLayer,
								    ReformerModel,
								    ReformerModelWithLMHead,
								    ReformerPreTrainedModel,
								)

else:
				import sys

				__lowercase       :Dict       =  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






def       UpperCAmelCase							(     _lowerCamelCase      :  int = 1_000     ):





						'''simple docstring'''


						SCREAMING_SNAKE_CASE__     :				Dict   =					-1
						SCREAMING_SNAKE_CASE__     :				str   =					0
						for a in range(1			,   n // 3     ):
												# Solving the two equations a**2+b**2=c**2 and a+b+c=N eliminating c
												SCREAMING_SNAKE_CASE__     :				Tuple   =					(n * n - 2 * a * n) // (2 * n - 2 * a)
												SCREAMING_SNAKE_CASE__     :				Dict   =					n - a - b
												if c * c == (a * a + b * b):
																		SCREAMING_SNAKE_CASE__     :				str   =					a * b * c
																		if candidate >= product:
																								SCREAMING_SNAKE_CASE__     :				List[str]   =					candidate
						return product


if __name__ == "__main__":
				print(f"{solution() = }")