


from __future__ import annotations

from collections.abc import Iterable, Iterator
from dataclasses import dataclass

__lowerCAmelCase	: Dict  				=(3, 9, -1_1, 0, 7, 5, 1, -1)
__lowerCAmelCase	: int  				=(4, 6, 2, 0, 8, 1_0, 3, -2)
@dataclass
class        _lowercase      :






				'''simple docstring'''



				SCREAMING_SNAKE_CASE__				:			int
				SCREAMING_SNAKE_CASE__				:			Node | None




class        _lowercase      :






				'''simple docstring'''



				def __init__(       self			:str			,			lowerCAmelCase__			:Iterable[int]	)		->			None:
										__SCREAMING_SNAKE_CASE						:     Node | None					=		None
										for i in sorted(lowerCAmelCase__			,			reverse=lowerCAmelCase__	):
																__SCREAMING_SNAKE_CASE						:     int					=		Node(lowerCAmelCase__			,			self.head	)


				def __iter__(       self			:Optional[Any]	)		->			Iterator[int]:
										__SCREAMING_SNAKE_CASE						:     Tuple					=		self.head
										while node:
																yield node.data
																__SCREAMING_SNAKE_CASE						:     int					=		node.next_node


				def __len__(       self			:Optional[int]	)		->			int:
										return sum(1 for _ in self	)



				def __str__(       self			:List[Any]	)		->			str:
										return " -> ".join([str(lowerCAmelCase__	) for node in self]	)




def        _UpperCamelCase							(      lowercase__    ,       lowercase__      ):
						return SortedLinkedList(list(lowercase__      ) + list(lowercase__      )      )


if __name__ == "__main__":
						import doctest

						doctest.testmod()
						__lowerCAmelCase	: Union[str, Any]  				=SortedLinkedList
						print(merge_lists(SSL(test_data_odd), SSL(test_data_even)))

def    a__       (						__UpperCamelCase ):
      if n == 1 or not isinstance(__UpperCamelCase   ,					__UpperCamelCase ):
            return 0
      elif n == 2:
            return 1
      else:
            SCREAMING_SNAKE_CASE_      =     [0, 1]
            for i in range(2   ,					n + 1 ):
                  sequence.append(sequence[i - 1] + sequence[i - 2] )

            return sequence[n]


def    a__       (						__UpperCamelCase ):
      SCREAMING_SNAKE_CASE_      =     0
      SCREAMING_SNAKE_CASE_      =     2

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

      return index


def    a__       (						__UpperCamelCase = 1_0_0_0 ):
      return fibonacci_digits_index(__UpperCamelCase )


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


