
"""simple docstring"""







import math
from decimal import Decimal, getcontext
def       __UpperCAmelCase		(		a_      :		int = 4_00_00_00					)  ->							int:

   try:
      _UpperCAmelCase 						=       int(a_					)
   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."					)
   _UpperCAmelCase 						=       1_00
   _UpperCAmelCase 						=       (Decimal(5					) ** Decimal(0.5					) + 1) / Decimal(2					)

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


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



"""simple docstring"""







from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE_  					= {'configuration_detr': ['DETR_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DetrConfig', 'DetrOnnxConfig']}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  SCREAMING_SNAKE_CASE_  					= ['DetrFeatureExtractor']
  SCREAMING_SNAKE_CASE_  					= ['DetrImageProcessor']

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  SCREAMING_SNAKE_CASE_  					= [
      'DETR_PRETRAINED_MODEL_ARCHIVE_LIST',
      'DetrForObjectDetection',
      'DetrForSegmentation',
      'DetrModel',
      'DetrPreTrainedModel',
  ]


if TYPE_CHECKING:
  from .configuration_detr import DETR_PRETRAINED_CONFIG_ARCHIVE_MAP, DetrConfig, DetrOnnxConfig

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_detr import DetrFeatureExtractor
    from .image_processing_detr import DetrImageProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_detr import (
        DETR_PRETRAINED_MODEL_ARCHIVE_LIST,
        DetrForObjectDetection,
        DetrForSegmentation,
        DetrModel,
        DetrPreTrainedModel,
    )

else:
  import sys

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

