





'''simple docstring'''



from typing import TYPE_CHECKING

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


_SCREAMING_SNAKE_CASE    =			{
    '''configuration_deformable_detr''': ['''DEFORMABLE_DETR_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''DeformableDetrConfig'''],
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_SCREAMING_SNAKE_CASE    =			['''DeformableDetrFeatureExtractor''']
	_SCREAMING_SNAKE_CASE    =			['''DeformableDetrImageProcessor''']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	_SCREAMING_SNAKE_CASE    =			[
	    '''DEFORMABLE_DETR_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''DeformableDetrForObjectDetection''',
	    '''DeformableDetrModel''',
	    '''DeformableDetrPreTrainedModel''',
	]


if TYPE_CHECKING:
	from .configuration_deformable_detr import DEFORMABLE_DETR_PRETRAINED_CONFIG_ARCHIVE_MAP, DeformableDetrConfig

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .feature_extraction_deformable_detr import DeformableDetrFeatureExtractor
		from .image_processing_deformable_detr import DeformableDetrImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_deformable_detr import (
		    DEFORMABLE_DETR_PRETRAINED_MODEL_ARCHIVE_LIST,
		    DeformableDetrForObjectDetection,
		    DeformableDetrModel,
		    DeformableDetrPreTrainedModel,
		)

else:
	import sys

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









"""simple docstring"""


import math
from decimal import Decimal, getcontext






def    a__       ( __lowercase = 400_0000      )		->		int:

				try:
								_A         =	int(__lowercase      )
				except (TypeError, ValueError):
								raise TypeError("Parameter n must be int or castable to int."      )
				if n <= 0:
								raise ValueError("Parameter n must be greater than or equal to one."      )
				_A         =	100
				_A         =	(Decimal(5      ) ** Decimal(0.5      ) + 1) / Decimal(2      )

				_A         =	(math.floor(math.log(n * (phi + 2)   ,	__lowercase      ) - 1      ) // 3) * 3 + 2
				_A         =	Decimal(round(phi ** Decimal(index + 1      )      )      ) / (phi + 2)
				_A         =	num // 2
				return int(__lowercase      )


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