




'''simple docstring'''



import argparse

import torch

from transformers import FunnelBaseModel, FunnelConfig, FunnelModel, load_tf_weights_in_funnel
from transformers.utils import logging


logging.set_verbosity_info()
def 			SCREAMING_SNAKE_CASE_			(							__A    :			Tuple	,					__A    :			Optional[int]	,					__A    :			List[Any]	,					__A    :			Any  )			->			int:
			_SCREAMING_SNAKE_CASE	=				FunnelConfig.from_json_file(_a  )
			print(f"""Building PyTorch model from configuration: {config}"""  )
			_SCREAMING_SNAKE_CASE	=				FunnelBaseModel(_a  ) if base_model else FunnelModel(_a  )

			# Load weights from tf checkpoint
			load_tf_weights_in_funnel(_a	,					_a	,					_a  )

			# Save pytorch-model
			print(f"""Save PyTorch model to {pytorch_dump_path}"""  )
			torch.save(model.state_dict()	,					_a  )


if __name__ == "__main__":
	lowerCamelCase_			=						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(
	    '--config_file',
	    default=None,
	    type=str,
	    required=True,
	    help='The config json file corresponding to the pre-trained model. \nThis specifies the model architecture.',
	)
	parser.add_argument(
	    '--pytorch_dump_path', default=None, type=str, required=True, help='Path to the output PyTorch model.'
	)
	parser.add_argument(
	    '--base_model', action='store_true', help='Whether you want just the base model (no decoder) or not.'
	)
	lowerCamelCase_			=						parser.parse_args()
	convert_tf_checkpoint_to_pytorch(
	    args.tf_checkpoint_path, args.config_file, args.pytorch_dump_path, args.base_model
	)







'''simple docstring'''



def 			SCREAMING_SNAKE_CASE_			(							__A    :			int  )			->			int:
   if n == 1 or not isinstance(__A	,					__A  ):
      return 0
   elif n == 2:
      return 1
   else:
      _SCREAMING_SNAKE_CASE	=				[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:
   _SCREAMING_SNAKE_CASE	=				0
   _SCREAMING_SNAKE_CASE	=				2

   while digits < n:
      index += 1
      _SCREAMING_SNAKE_CASE	=				len(str(fibonacci(__A  )  )  )

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


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

