"""simple docstring"""


import logging
from dataclasses import dataclass, field
from typing import Optional

from seqaseq_trainer import arg_to_scheduler

from transformers import TrainingArguments


UpperCAmelCase__			=    logging.getLogger(__name__)


@dataclass
class 							a					(		lowerCAmelCase_ ):
    _snake_case  :	Optional[float]  				=				field(
        default=0.0						,				metadata={'help': 'The label smoothing epsilon to apply (if not zero).'} )
    _snake_case  :	bool  				=				field(default=lowerCAmelCase_						,				metadata={'help': 'Whether to SortishSamler or not.'} )
    _snake_case  :	bool  				=				field(
        default=lowerCAmelCase_						,				metadata={'help': 'Whether to use generate to calculate generative metrics (ROUGE, BLEU).'} )
    _snake_case  :	bool  				=				field(default=lowerCAmelCase_						,				metadata={'help': 'whether to use adafactor'} )
    _snake_case  :	Optional[float]  				=				field(
        default=lowerCAmelCase_						,				metadata={'help': 'Encoder layer dropout probability. Goes into model.config.'} )
    _snake_case  :	Optional[float]  				=				field(
        default=lowerCAmelCase_						,				metadata={'help': 'Decoder layer dropout probability. Goes into model.config.'} )
    _snake_case  :	Optional[float]  				=				field(default=lowerCAmelCase_						,				metadata={'help': 'Dropout probability. Goes into model.config.'} )
    _snake_case  :	Optional[float]  				=				field(
        default=lowerCAmelCase_						,				metadata={'help': 'Attention dropout probability. Goes into model.config.'} )
    _snake_case  :	Optional[str]  				=				field(
        default='linear'						,				metadata={'help': F'''Which lr scheduler to use. Selected in {sorted(arg_to_scheduler.keys() )}'''}						,				)

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