


from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


UpperCAmelCase_				:			int   =	logging.get_logger(__name__)

UpperCAmelCase_				:			List[str]   =	{
    'roberta-base': 'https://huggingface.co/roberta-base/resolve/main/config.json',
    'roberta-large': 'https://huggingface.co/roberta-large/resolve/main/config.json',
    'roberta-large-mnli': 'https://huggingface.co/roberta-large-mnli/resolve/main/config.json',
    'distilroberta-base': 'https://huggingface.co/distilroberta-base/resolve/main/config.json',
    'roberta-base-openai-detector': 'https://huggingface.co/roberta-base-openai-detector/resolve/main/config.json',
    'roberta-large-openai-detector': 'https://huggingface.co/roberta-large-openai-detector/resolve/main/config.json',
}
class 			SCREAMING_SNAKE_CASE__  (    lowercase__      ):
      snake_case__    :					Optional[int]					       =						'''roberta'''
      def __init__(	self    :	str					,							SCREAMING_SNAKE_CASE__    :	int=5_0_2_6_5					,							SCREAMING_SNAKE_CASE__    :	List[Any]=7_6_8					,							SCREAMING_SNAKE_CASE__    :	Union[str, Any]=1_2					,							SCREAMING_SNAKE_CASE__    :	str=1_2					,							SCREAMING_SNAKE_CASE__    :	Optional[Any]=3_0_7_2					,							SCREAMING_SNAKE_CASE__    :	Optional[int]="gelu"					,							SCREAMING_SNAKE_CASE__    :	Dict=0.1					,							SCREAMING_SNAKE_CASE__    :	Dict=0.1					,							SCREAMING_SNAKE_CASE__    :	int=5_1_2					,							SCREAMING_SNAKE_CASE__    :	str=2					,							SCREAMING_SNAKE_CASE__    :	List[Any]=0.02					,							SCREAMING_SNAKE_CASE__    :	Optional[int]=1E-12					,							SCREAMING_SNAKE_CASE__    :	Optional[int]=1					,							SCREAMING_SNAKE_CASE__    :	Optional[Any]=0					,							SCREAMING_SNAKE_CASE__    :	Optional[Any]=2					,							SCREAMING_SNAKE_CASE__    :	List[Any]="absolute"					,							SCREAMING_SNAKE_CASE__    :	Any=True					,							SCREAMING_SNAKE_CASE__    :	Optional[Any]=None					,							**SCREAMING_SNAKE_CASE__    :	Any					,							)		->      Tuple:
             super().__init__(pad_token_id=SCREAMING_SNAKE_CASE__					,							bos_token_id=SCREAMING_SNAKE_CASE__					,							eos_token_id=SCREAMING_SNAKE_CASE__					,							**SCREAMING_SNAKE_CASE__					)

             a_ :		Tuple							=  vocab_size
             a_ :		Optional[int]							=  hidden_size
             a_ :		Optional[int]							=  num_hidden_layers
             a_ :		int							=  num_attention_heads
             a_ :		Any							=  hidden_act
             a_ :		Any							=  intermediate_size
             a_ :		Tuple							=  hidden_dropout_prob
             a_ :		List[str]							=  attention_probs_dropout_prob
             a_ :		Optional[Any]							=  max_position_embeddings
             a_ :		Optional[int]							=  type_vocab_size
             a_ :		Optional[int]							=  initializer_range
             a_ :		Optional[int]							=  layer_norm_eps
             a_ :		Optional[int]							=  position_embedding_type
             a_ :		List[str]							=  use_cache
             a_ :		List[Any]							=  classifier_dropout
class 			SCREAMING_SNAKE_CASE__  (    lowercase__      ):
      @property
      def 	SCREAMING_SNAKE_CASE							(	self    :	str					)		->      Mapping[str, Mapping[int, str]]:
             if self.task == "multiple-choice":
                    a_ :		str							=  {0: 'batch', 1: 'choice', 2: 'sequence'}
             else:
                    a_ :		Any							=  {0: 'batch', 1: 'sequence'}
             return OrderedDict(
                 [
                     ('input_ids', dynamic_axis),
                     ('attention_mask', dynamic_axis),
                 ]					)






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


