





from __future__ import annotations

from random import choice







def    A				(							UpperCAmelCase				):
					return choice(UpperCAmelCase				)







def    A				(							UpperCAmelCase  ,  UpperCAmelCase				):
					_snake_case       :					Union[str, Any]				       =   random_pivot(UpperCAmelCase				)

					# partition based on pivot
					# linear time
					_snake_case       :					Dict				       =   [e for e in lst if e < pivot]
					_snake_case       :					List[str]				       =   [e for e in lst if e > pivot]

					# if we get lucky, pivot might be the element we want.
					# we can easily see this:
					# small (elements smaller than k)
					# + pivot (kth element)
					# + big (elements larger than k)
					if len(UpperCAmelCase				) == k - 1:
										return pivot
					# pivot is in elements bigger than k
					elif len(UpperCAmelCase				) < k - 1:
										return kth_number(UpperCAmelCase  ,  k - len(UpperCAmelCase				) - 1				)
					# pivot is in elements smaller than k
					else:
										return kth_number(UpperCAmelCase  ,  UpperCAmelCase				)


if __name__ == "__main__":
							import doctest

							doctest.testmod()






def    A				(							UpperCAmelCase				):
					if n == 1 or not isinstance(UpperCAmelCase  ,  UpperCAmelCase				):
										return 0
					elif n == 2:
										return 1
					else:
										_snake_case       :					List[Any]				       =   [0, 1]
										for i in range(2  ,  n + 1				):
															sequence.append(sequence[i - 1] + sequence[i - 2]				)

										return sequence[n]







def    A				(							UpperCAmelCase				):
					_snake_case       :					Tuple				       =   0
					_snake_case       :					Optional[Any]				       =   2

					while digits < n:
										index += 1
										_snake_case       :					str				       =   len(str(fibonacci(UpperCAmelCase				)				)				)

					return index







def    A				(							UpperCAmelCase = 1_000				):
					return fibonacci_digits_index(UpperCAmelCase				)


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