
def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int = 60_08_51_47_51_43       ) ->       int:

				"""simple docstring"""







				try:
								A__  :	Any         =							int(__UpperCamelCase       )
				except (TypeError, ValueError):
								raise TypeError('''Parameter n must be int or castable to int.'''       )
				if n <= 0:
								raise ValueError('''Parameter n must be greater than or equal to one.'''       )
				A__  :	Tuple         =							2
				A__  :	Dict         =							0
				if n == 2:
								return 2
				while n > 2:
								while n % i != 0:
												i += 1
								A__  :	List[Any]         =							i
								while n % i == 0:
												A__  :	Optional[int]         =							n // i
								i += 1
				return int(__UpperCamelCase       )


if __name__ == "__main__":
	print(f"""{solution() = }""")

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int       ) ->       int:

				"""simple docstring"""







				if n == 1 or not isinstance(__UpperCamelCase							,						__UpperCamelCase       ):
								return 0
				elif n == 2:
								return 1
				else:
								A__  :	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       ) ->       int:

				"""simple docstring"""







				A__  :	Dict         =							0
				A__  :	Optional[int]         =							2

				while digits < n:
								index += 1
								A__  :	Dict         =							len(str(fibonacci(__UpperCamelCase       )       )       )

				return index

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int = 10_00       ) ->       int:

				"""simple docstring"""







				return fibonacci_digits_index(__UpperCamelCase       )


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