



"""simple docstring"""






from collections.abc import Callable

import numpy as np






def        snake_case_  (      A_					:		str,				A_					:		Any,				A_					:		List[Any],				A_					:		Any,				A_					:		Optional[int]						):


       '''simple docstring'''





       _lowerCamelCase						:				Any    			= int(np.ceil((x_end - xa) / step_size						)						)
       _lowerCamelCase						:				Optional[Any]    			= np.zeros((n + 1,)						)
       _lowerCamelCase						:				Any    			= ya
       _lowerCamelCase						:				Any    			= xa

       for k in range(__UpperCamelCase						):
              _lowerCamelCase						:				List[Any]    			= y[k] + step_size * ode_func(__UpperCamelCase,				y[k]						)
              _lowerCamelCase						:				Union[str, Any]    			= y[k] + (
                  (step_size / 2) * (ode_func(__UpperCamelCase,				y[k]						) + ode_func(x + step_size,				__UpperCamelCase						))
              )
              x += step_size

       return y


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:
            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())))


