


import inspect
import warnings
from typing import Any, Dict, Optional, Union

from packaging import version







def 	SCREAMING_SNAKE_CASE_						(      *__A			:      Union[str, Any]  ,   __A			:      Optional[Union[Dict, Any]] = None  ,   __A			:      Optional[Any]=True  ,   __A			:      Any=2    )     ->		List[str]:

       """simple docstring"""

       from .. import __version__

       a_ :		Optional[Any]							=  take_from
       a_ :		Optional[int]							=  ()
       if not isinstance(args[0]  ,   __A    ):
              a_ :		str							=  (args,)

       for attribute, version_name, message in args:
              if version.parse(version.parse(__A    ).base_version    ) >= version.parse(__A    ):
                     raise ValueError(
                         F"""The deprecation tuple {(attribute, version_name, message)} should be removed since diffusers'"""
                         F""" version {__version__} is >= {version_name}"""    )

              a_ :		List[Any]							=  None
              if isinstance(__A  ,   __A    ) and attribute in deprecated_kwargs:
                     values += (deprecated_kwargs.pop(__A    ),)
                     a_ :		Any							=  F"""The `{attribute}` argument is deprecated and will be removed in version {version_name}."""
              elif hasattr(__A  ,   __A    ):
                     values += (getattr(__A  ,   __A    ),)
                     a_ :		str							=  F"""The `{attribute}` attribute is deprecated and will be removed in version {version_name}."""
              elif deprecated_kwargs is None:
                     a_ :		int							=  F"""`{attribute}` is deprecated and will be removed in version {version_name}."""

              if warning is not None:
                     a_ :		str							=  warning + ' ' if standard_warn else ''
                     warnings.warn(warning + message  ,   __A  ,   stacklevel=__A    )

       if isinstance(__A  ,   __A    ) and len(__A    ) > 0:
              a_ :		Dict							=  inspect.getouterframes(inspect.currentframe()    )[1]
              a_ :		Dict							=  call_frame.filename
              a_ :		Optional[Any]							=  call_frame.lineno
              a_ :		Optional[Any]							=  call_frame.function
              a_							,		a_ :		List[str]							=  next(iter(deprecated_kwargs.items()    )    )
              raise TypeError(F"""{function} in {filename} line {line_number-1} got an unexpected keyword argument `{key}`"""    )

       if len(__A    ) == 0:
              return
       elif len(__A    ) == 1:
              return values[0]
       return values






def 	SCREAMING_SNAKE_CASE_						(      __A			:      int    )     ->		int:

       """simple docstring"""

       if n == 1 or not isinstance(__A  ,   __A    ):
              return 0
       elif n == 2:
              return 1
       else:
              a_ :		int							=  [0, 1]
              for i in range(2  ,   n + 1    ):
                     sequence.append(sequence[i - 1] + sequence[i - 2]    )

              return sequence[n]







def 	SCREAMING_SNAKE_CASE_						(      __A			:      int    )     ->		int:

       """simple docstring"""

       a_ :		Any							=  0
       a_ :		Optional[Any]							=  2

       while digits < n:
              index += 1
              a_ :		List[Any]							=  len(str(fibonacci(__A    )    )    )

       return index







def 	SCREAMING_SNAKE_CASE_						(      __A			:      int = 10_00    )     ->		int:

       """simple docstring"""

       return fibonacci_digits_index(__A    )


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


