





"""simple docstring"""





def  __A   (_SCREAMING_SNAKE_CASE			)					->int:





  """simple docstring"""


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

    return sequence[n]
def  __A   (_SCREAMING_SNAKE_CASE			)					->int:





  """simple docstring"""


  lowerCAmelCase__			:Optional[Any]											=							0
  lowerCAmelCase__			:Dict											=							2

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

  return index
def  __A   (_SCREAMING_SNAKE_CASE = 1000			)					->int:





  """simple docstring"""


  return fibonacci_digits_index(_lowerCAmelCase			)


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





'''simple docstring'''





from collections.abc import Sequence

def        a_     (							_lowerCAmelCase       ,_lowerCAmelCase       )      ->      float:
  return sum(c * (x**i) for i, c in enumerate(_lowerCAmelCase       )       )

def        a_     (							_lowerCAmelCase       ,_lowerCAmelCase       )      ->      float:
  __lowerCamelCase       :       Any           = 0.0
  for coeff in reversed(_lowerCAmelCase       ):
    __lowerCamelCase       :       Tuple           = result * x + coeff
  return result


if __name__ == "__main__":
   _UpperCamelCase											=						(0.0, 0.0, 5.0, 9.3, 7.0)
   _UpperCamelCase											=						1_0.0
   print(evaluate_poly(poly, x))
   print(horner(poly, x))






