"""simple docstring"""






import random



def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase       ,    __UpperCAmelCase       ,    __UpperCAmelCase )  ->  Any:
   lowercase__:   List[str]					=      a[left_index]
   lowercase__:   Optional[int]					=      left_index + 1
   for j in range(left_index + 1       ,    __UpperCAmelCase ):
      if a[j] < pivot:
         lowercase__, lowercase__:   Optional[int]					=      a[i], a[j]
         i += 1
   lowercase__, lowercase__:   Optional[Any]					=      a[i - 1], a[left_index]
   return i - 1



def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase       ,    __UpperCAmelCase       ,    __UpperCAmelCase )  ->  Union[str, Any]:
   if left < right:
      lowercase__:   Optional[int]					=      random.randint(__UpperCAmelCase       ,    right - 1 )
      lowercase__, lowercase__:   Dict					=      (
          a[left],
          a[pivot],
      )  # switches the pivot with the left most bound
      lowercase__:   List[str]					=      partition(__UpperCAmelCase       ,    __UpperCAmelCase       ,    __UpperCAmelCase )
      quick_sort_random(
          __UpperCAmelCase       ,    __UpperCAmelCase       ,    __UpperCAmelCase )  # recursive quicksort to the left of the pivot point
      quick_sort_random(
          __UpperCAmelCase       ,    pivot_index + 1       ,    __UpperCAmelCase )  # recursive quicksort to the right of the pivot point



def SCREAMING_SNAKE_CASE__			(   )  ->  Optional[int]:
   lowercase__:   int					=      input('''Enter numbers separated by a comma:\n''' ).strip()
   lowercase__:   Tuple					=      [int(__UpperCAmelCase ) for item in user_input.split(''',''' )]

   quick_sort_random(__UpperCAmelCase       ,    0       ,    len(__UpperCAmelCase ) )

   print(__UpperCAmelCase )


if __name__ == "__main__":
       main()

"""simple docstring"""






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

      return sequence[n]



def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase )  ->  int:
   lowercase__:   Union[str, Any]					=      0
   lowercase__:   List[Any]					=      2

   while digits < n:
      index += 1
      lowercase__:   Dict					=      len(str(fibonacci(__UpperCAmelCase ) ) )

   return index



def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase = 1_0_0_0 )  ->  int:
   return fibonacci_digits_index(__UpperCAmelCase )


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