"""simple docstring"""


import doctest
import logging
import os
import unittest
from pathlib import Path
from typing import List, Union

import transformers
from transformers.testing_utils import require_tf, require_torch, slow


UpperCAmelCase__			=    logging.getLogger()


@unittest.skip('Temporarily disable the doc tests.' )
@require_torch
@require_tf
@slow
class 							a					(		unittest.TestCase ):


    def   lowerCAmelCase_	(       self						:	str ,					__lowerCAmelCase						:	Path ,					__lowerCAmelCase						:	Union[str, None] = None ,					__lowerCAmelCase						:	Union[List[str], None] = None ,					__lowerCAmelCase						:	Union[str, List[str], None] = None ,					__lowerCAmelCase						:	bool = True ,					):
      _UpperCAmelCase    			=   [file for file in os.listdir(__lowerCAmelCase       ) if os.path.isfile(os.path.join(__lowerCAmelCase ,					__lowerCAmelCase       )       )]

      if identifier is not None:
        _UpperCAmelCase    			=   [file for file in files if identifier in file]

      if n_identifier is not None:
        if isinstance(__lowerCAmelCase ,					__lowerCAmelCase       ):
          for n_ in n_identifier:
            _UpperCAmelCase    			=   [file for file in files if n_ not in file]
        else:
          _UpperCAmelCase    			=   [file for file in files if n_identifier not in file]

      _UpperCAmelCase    			=   ignore_files or []
      ignore_files.append("""__init__.py"""       )
      _UpperCAmelCase    			=   [file for file in files if file not in ignore_files]

      for file in files:
        # Open all files
        print("""Testing""" ,					__lowerCAmelCase       )

        if only_modules:
          _UpperCAmelCase    			=   file.split("""."""       )[0]
          try:
            _UpperCAmelCase    			=   getattr(__lowerCAmelCase ,					__lowerCAmelCase       )
            _UpperCAmelCase    			=   doctest.DocTestSuite(__lowerCAmelCase       )
            _UpperCAmelCase    			=   unittest.TextTestRunner().run(__lowerCAmelCase       )
            self.assertIs(len(result.failures       ) ,					0       )
          except AttributeError:
            logger.info(f'''{module_identifier} is not a module.'''       )
        else:
          _UpperCAmelCase    			=   doctest.testfile(str("""..""" / directory / file       ) ,					optionflags=doctest.ELLIPSIS       )
          self.assertIs(result.failed ,					0       )


    def   lowerCAmelCase_	(       self						:	Tuple       ):
      _UpperCAmelCase    			=   Path("""src/transformers"""       )
      _UpperCAmelCase    			=   """modeling"""
      _UpperCAmelCase    			=   [
          """modeling_ctrl.py""",
          """modeling_tf_ctrl.py""",
      ]
      self.analyze_directory(__lowerCAmelCase ,					identifier=__lowerCAmelCase ,					ignore_files=__lowerCAmelCase       )


    def   lowerCAmelCase_	(       self						:	int       ):
      _UpperCAmelCase    			=   Path("""src/transformers"""       )
      _UpperCAmelCase    			=   """tokenization"""
      self.analyze_directory(__lowerCAmelCase ,					identifier=__lowerCAmelCase       )


    def   lowerCAmelCase_	(       self						:	List[Any]       ):
      _UpperCAmelCase    			=   Path("""src/transformers"""       )
      _UpperCAmelCase    			=   """configuration"""
      self.analyze_directory(__lowerCAmelCase ,					identifier=__lowerCAmelCase       )


    def   lowerCAmelCase_	(       self						:	Any       ):
      _UpperCAmelCase    			=   Path("""src/transformers"""       )
      _UpperCAmelCase    			=   ["""configuration""", """modeling""", """tokenization"""]
      self.analyze_directory(__lowerCAmelCase ,					n_identifier=__lowerCAmelCase       )


    def   lowerCAmelCase_	(       self						:	str       ):
      _UpperCAmelCase    			=   Path("""docs/source"""       )
      _UpperCAmelCase    			=   ["""favicon.ico"""]
      self.analyze_directory(__lowerCAmelCase ,					ignore_files=__lowerCAmelCase ,					only_modules=__lowerCAmelCase       )

"""simple docstring"""


from collections.abc import Generator






def      __UpperCAmelCase       (      ):







  """simple docstring"""
  _UpperCAmelCase			,					_UpperCAmelCase    			=   0, 1
  while True:
    _UpperCAmelCase			,					_UpperCAmelCase    			=   b, a + b
    yield b






def      __UpperCAmelCase       (      lowercase = 10_00		):







  """simple docstring"""
  _UpperCAmelCase    			=   1
  _UpperCAmelCase    			=   fibonacci_generator()
  while len(str(next(lowercase		)		)		) < n:
    answer += 1
  return answer + 1


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