




'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A_			      =		{
    "configuration_blip_2": [
        "BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "Blip2Config",
        "Blip2QFormerConfig",
        "Blip2VisionConfig",
    ],
    "processing_blip_2": ["Blip2Processor"],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A_			      =		[
          "BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST",
          "Blip2Model",
          "Blip2QFormerModel",
          "Blip2PreTrainedModel",
          "Blip2ForConditionalGeneration",
          "Blip2VisionModel",
      ]

if TYPE_CHECKING:
      from .configuration_blip_a import (
          BLIP_2_PRETRAINED_CONFIG_ARCHIVE_MAP,
          BlipaConfig,
          BlipaQFormerConfig,
          BlipaVisionConfig,
      )
      from .processing_blip_a import BlipaProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_blip_a import (
                BLIP_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                BlipaForConditionalGeneration,
                BlipaModel,
                BlipaPreTrainedModel,
                BlipaQFormerModel,
                BlipaVisionModel,
            )

else:
      import sys

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






'''simple docstring'''






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

            return sequence[n]






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE		)    ->   int:
      snake_case__       :   Optional[int]	      =    0
      snake_case__       :   Dict	      =    2

      while digits < n:
            index += 1
            snake_case__       :   Optional[int]	      =    len(str(fibonacci(__SCREAMING_SNAKE_CASE		)		)		)

      return index






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE = 1000		)    ->   int:
      return fibonacci_digits_index(__SCREAMING_SNAKE_CASE		)


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