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

              return sequence[n]






def  snake_case  (       snake_case__			:int)						->   int:
       _A        =  0
       _A        =  2

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

       return index






def  snake_case  (       snake_case__			:int = 1_000)						->   int:
       return fibonacci_digits_index(snake_case__)


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





import math
import sys






def  snake_case  (       snake_case__			:int)						->   int:
       if number != int(snake_case__):
              raise ValueError("""the value of input must be a natural number""")
       if number < 0:
              raise ValueError("""the value of input must not be a negative number""")
       if number == 0:
              return 1
       _A        =  [-1] * (number + 1)
       _A        =  0
       for i in range(1   ,	number + 1):
              _A        =  sys.maxsize
              _A        =  int(math.sqrt(snake_case__))
              for j in range(1   ,	root + 1):
                     _A        =  1 + answers[i - (j**2)]
                     _A        =  min(snake_case__   ,	snake_case__)
              _A        =  answer
       return answers[number]


if __name__ == "__main__":
    import doctest

    doctest.testmod()




