
import argparse

import torch

from transformers import RemBertConfig, RemBertModel, load_tf_weights_in_rembert
from transformers.utils import logging


logging.set_verbosity_info()







def 						_snake_case(  SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__ ,     SCREAMING_SNAKE_CASE__    )			->   Optional[Any]:
       lowercase							:					List[str]	     =				RemBertConfig.from_json_file(lowerCAmelCase__    )
       print("""Building PyTorch model from configuration: {}""".format(str(lowerCAmelCase__    )    )    )
       lowercase							:					Optional[int]	     =				RemBertModel(lowerCAmelCase__    )

       # Load weights from tf checkpoint
       load_tf_weights_in_rembert(lowerCAmelCase__ ,     lowerCAmelCase__ ,     lowerCAmelCase__    )

       # Save pytorch-model
       print("""Save PyTorch model to {}""".format(lowerCAmelCase__    )    )
       torch.save(model.state_dict() ,     lowerCAmelCase__    )


if __name__ == "__main__":
     lowercase  : Tuple						   =							argparse.ArgumentParser()
     # Required parameters
     parser.add_argument(
         """--tf_checkpoint_path""", default=None, type=str, required=True, help="""Path to the TensorFlow checkpoint path."""
     )
     parser.add_argument(
         """--rembert_config_file""",
         default=None,
         type=str,
         required=True,
         help=(
             """The config json file corresponding to the pre-trained RemBERT model. \n"""
             """This specifies the model architecture."""
         ),
     )
     parser.add_argument(
         """--pytorch_dump_path""", default=None, type=str, required=True, help="""Path to the output PyTorch model."""
     )
     lowercase  : Union[str, Any]						   =							parser.parse_args()
     convert_rembert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.rembert_config_file, args.pytorch_dump_path)


from collections.abc import Generator







def 						_snake_case(  )			->   Generator[int, None, None]:
       lowercase     ,      lowercase							:					List[str]	     =				0, 1
       while True:
              lowercase     ,      lowercase							:					Optional[int]	     =				b, a + b
              yield b







def 						_snake_case(  SCREAMING_SNAKE_CASE__ = 1_000    )			->   int:
       lowercase							:					List[Any]	     =				1
       lowercase							:					Tuple	     =				fibonacci_generator()
       while len(str(next(SCREAMING_SNAKE_CASE__    )    )    ) < n:
              answer += 1
       return answer + 1


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