



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


UpperCAmelCase							=       {
    """configuration_sam""": [
        """SAM_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """SamConfig""",
        """SamMaskDecoderConfig""",
        """SamPromptEncoderConfig""",
        """SamVisionConfig""",
    ],
    """processing_sam""": ["""SamProcessor"""],
}


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	UpperCAmelCase							=       [
	    """SAM_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """SamModel""",
	    """SamPreTrainedModel""",
	]
try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	UpperCAmelCase							=       [
	    """TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """TFSamModel""",
	    """TFSamPreTrainedModel""",
	]
try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	UpperCAmelCase							=       ["""SamImageProcessor"""]


if TYPE_CHECKING:
	from .configuration_sam import (
	    SAM_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    SamConfig,
	    SamMaskDecoderConfig,
	    SamPromptEncoderConfig,
	    SamVisionConfig,
	)
	from .processing_sam import SamProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_sam import SAM_PRETRAINED_MODEL_ARCHIVE_LIST, SamModel, SamPreTrainedModel

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_sam import TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST, TFSamModel, TFSamPreTrainedModel

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .image_processing_sam import SamImageProcessor

else:
	import sys

	UpperCAmelCase							=       _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









def        _lowerCamelCase(      lowerCAmelCase__					:		int = 99_8001   ):





				'''simple docstring'''







				for number in range(n - 1     ,     9999     ,     -1   ):
								SCREAMING_SNAKE_CASE_ :						int    				= str(lowerCAmelCase__   )

								# checks whether 'str_number' is a palindrome.
								if str_number == str_number[::-1]:
												SCREAMING_SNAKE_CASE_ :						str    				= 999

												# if 'number' is a product of two 3-digit numbers
												# then number is the answer otherwise fetch next number.
												while divisor != 99:
																if (number % divisor == 0) and (len(str(number // divisor   )   ) == 3.0):
																				return number
																divisor -= 1
				raise ValueError('That number is larger than our acceptable range.'   )


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