



'''simple docstring'''





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

            return sequence[n]





def 						__snake_case(				_lowerCAmelCase		)		-> int:
      snake_case__  :    Union[str, Any]    						=      0
      snake_case__  :    List[str]    						=      2

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

      return index





def 						__snake_case(				_lowerCAmelCase = 1_000		)		-> int:
      return fibonacci_digits_index(_lowerCAmelCase		)


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


import os
import sys

lowercase__		:Tuple   =    os.path.join(os.path.dirname(__file__), "src")
sys.path.append(SRC_DIR)


from transformers import (
    AutoConfig,
    AutoModel,
    AutoModelForCausalLM,
    AutoModelForMaskedLM,
    AutoModelForQuestionAnswering,
    AutoModelForSequenceClassification,
    AutoTokenizer,
    add_start_docstrings,
)


lowercase__		:List[Any]   =    [
    "torch",
    "numpy",
    "tokenizers",
    "filelock",
    "requests",
    "tqdm",
    "regex",
    "sentencepiece",
    "sacremoses",
    "importlib_metadata",
    "huggingface_hub",
]



@add_start_docstrings(AutoConfig.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoConfig.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoTokenizer.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoTokenizer.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoModel.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoModel.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoModelForCausalLM.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoModelForCausalLM.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoModelForMaskedLM.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoModelForMaskedLM.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoModelForSequenceClassification.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoModelForSequenceClassification.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)



@add_start_docstrings(AutoModelForQuestionAnswering.__doc__		)
def        UpperCamelCase    (							*lowerCAmelCase__ ,			**lowerCAmelCase__		):
					'''simple docstring'''
					return AutoModelForQuestionAnswering.from_pretrained(*lowerCAmelCase__ ,			**lowerCAmelCase__		)




