



def 		UpperCamelCase     (       snake_case__	:   int     )     ->					int:
   if n == 1 or not isinstance(snake_case__	,					snake_case__     ):
      return 0
   elif n == 2:
      return 1
   else:
      UpperCamelCase   :  Optional[Any]						     =     [0, 1]
      for i in range(2	,					n + 1     ):
         sequence.append(sequence[i - 1] + sequence[i - 2]     )

      return sequence[n]
def 		UpperCamelCase     (       snake_case__	:   int     )     ->					int:
   UpperCamelCase   :  Union[str, Any]						     =     0
   UpperCamelCase   :  str						     =     2

   while digits < n:
      index += 1
      UpperCamelCase   :  str						     =     len(str(fibonacci(snake_case__     )     )     )

   return index
def 		UpperCamelCase     (       snake_case__	:   int = 1000     )     ->					int:
   return fibonacci_digits_index(snake_case__     )


if __name__ == "__main__":
    print(solution(int(str(input()).strip())))




import hashlib
import unittest

from transformers import MODEL_FOR_DEPTH_ESTIMATION_MAPPING, is_torch_available, is_vision_available
from transformers.pipelines import DepthEstimationPipeline, pipeline
from transformers.testing_utils import (
    is_pipeline_test,
    nested_simplify,
    require_tf,
    require_timm,
    require_torch,
    require_vision,
    slow,
)

from .test_pipelines_common import ANY


if is_torch_available():
    import torch

if is_vision_available():
    from PIL import Image
else:



    class     lowerCAmelCase_		:
           @staticmethod
           def  snake_case_	(      *SCREAMING_SNAKE_CASE_,      **SCREAMING_SNAKE_CASE_	)					->		Dict:
              pass
def 		UpperCamelCase     (       snake_case__	:   Image     )     ->					str:
   UpperCamelCase   :  Tuple						     =     hashlib.mda(image.tobytes()     )
   return m.hexdigest()



@is_pipeline_test
@require_vision
@require_timm
@require_torch
class     lowerCAmelCase_		(  unittest.TestCase							):
       UpperCAmelCase__    : str       					=  MODEL_FOR_DEPTH_ESTIMATION_MAPPING
       def  snake_case_	(      self,      SCREAMING_SNAKE_CASE_,      SCREAMING_SNAKE_CASE_,      SCREAMING_SNAKE_CASE_	)					->		Optional[Any]:
          UpperCamelCase   :  List[str]						     =     DepthEstimationPipeline(model=SCREAMING_SNAKE_CASE_,      image_processor=SCREAMING_SNAKE_CASE_	)
          return depth_estimator, [
              "./tests/fixtures/tests_samples/COCO/000000039769.png",
              "./tests/fixtures/tests_samples/COCO/000000039769.png",
          ]
       def  snake_case_	(      self,      SCREAMING_SNAKE_CASE_,      SCREAMING_SNAKE_CASE_	)					->		Union[str, Any]:
          UpperCamelCase   :  Union[str, Any]						     =     depth_estimator('./tests/fixtures/tests_samples/COCO/000000039769.png'	)
          self.assertEqual({'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},      SCREAMING_SNAKE_CASE_	)
          import datasets

          UpperCamelCase   :  int						     =     datasets.load_dataset('hf-internal-testing/fixtures_image_utils',      'image',      split='test'	)
          UpperCamelCase   :  Tuple						     =     depth_estimator(
              [
                  Image.open('./tests/fixtures/tests_samples/COCO/000000039769.png'	),
                  'http://images.cocodataset.org/val2017/000000039769.jpg',
                  # RGBA
                  dataset[0]['file'],
                  # LA
                  dataset[1]['file'],
                  # L
                  dataset[2]['file'],
              ]	)
          self.assertEqual(
              [
                  {'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},
                  {'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},
                  {'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},
                  {'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},
                  {'predicted_depth': ANY(torch.Tensor	), 'depth': ANY(Image.Image	)},
              ],      SCREAMING_SNAKE_CASE_,      )
       @require_tf
       @unittest.skip('Depth estimation is not implemented in TF'	)
       def  snake_case_	(      self	)					->		Optional[int]:
          pass
       @slow
       @require_torch
       def  snake_case_	(      self	)					->		List[Any]:
          UpperCamelCase   :  Optional[Any]						     =     'Intel/dpt-large'
          UpperCamelCase   :  Tuple						     =     pipeline('depth-estimation',      model=SCREAMING_SNAKE_CASE_	)
          UpperCamelCase   :  Any						     =     depth_estimator('http://images.cocodataset.org/val2017/000000039769.jpg'	)
          UpperCamelCase   :  int						     =     hashimage(outputs['depth']	)

          # This seems flaky.
          # self.assertEqual(outputs["depth"], "1a39394e282e9f3b0741a90b9f108977")
          self.assertEqual(nested_simplify(outputs['predicted_depth'].max().item()	),      29.3_04	)
          self.assertEqual(nested_simplify(outputs['predicted_depth'].min().item()	),      2.6_62	)






       @require_torch
       def  snake_case_	(      self	)					->		Optional[int]:
          # This is highly irregular to have no small tests.
          self.skipTest('There is not hf-internal-testing tiny model for either GLPN nor DPT'	)



