
import json
import os
import tempfile

from transformers.testing_utils import check_json_file_has_correct_format







class  UpperCamelCase__		:







	'''simple docstring'''
	_lowerCAmelCase							       =				None





	def   __snake_case				(			self		):
					A__  :	Dict         =							self.feature_extraction_class(**self.feat_extract_dict		)
					A__  :	Tuple         =							json.loads(feat_extract.to_json_string()		)
					for key, value in self.feat_extract_dict.items():
									self.assertEqual(obj[key]				,       UpperCamelCase__		)





	def   __snake_case				(			self		):
					A__  :	Any         =							self.feature_extraction_class(**self.feat_extract_dict		)

					with tempfile.TemporaryDirectory() as tmpdirname:
									A__  :	Any         =							os.path.join(UpperCamelCase__				,       '''feat_extract.json'''		)
									feat_extract_first.to_json_file(UpperCamelCase__		)
									A__  :	Dict         =							self.feature_extraction_class.from_json_file(UpperCamelCase__		)

					self.assertEqual(feat_extract_second.to_dict()				,       feat_extract_first.to_dict()		)





	def   __snake_case				(			self		):
					A__  :	Any         =							self.feature_extraction_class(**self.feat_extract_dict		)

					with tempfile.TemporaryDirectory() as tmpdirname:
									A__  :	Any         =							feat_extract_first.save_pretrained(UpperCamelCase__		)[0]
									check_json_file_has_correct_format(UpperCamelCase__		)
									A__  :	Optional[int]         =							self.feature_extraction_class.from_pretrained(UpperCamelCase__		)

					self.assertEqual(feat_extract_second.to_dict()				,       feat_extract_first.to_dict()		)





	def   __snake_case				(			self		):
					A__  :	str         =							self.feature_extraction_class()
					self.assertIsNotNone(UpperCamelCase__		)

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int       ) ->       int:

				"""simple docstring"""







				if n == 1 or not isinstance(__UpperCamelCase							,						__UpperCamelCase       ):
								return 0
				elif n == 2:
								return 1
				else:
								A__  :	Any         =							[0, 1]
								for i in range(2							,						n + 1       ):
												sequence.append(sequence[i - 1] + sequence[i - 2]       )

								return sequence[n]

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int       ) ->       int:

				"""simple docstring"""







				A__  :	Dict         =							0
				A__  :	Optional[int]         =							2

				while digits < n:
								index += 1
								A__  :	Dict         =							len(str(fibonacci(__UpperCamelCase       )       )       )

				return index

def 				SCREAMING_SNAKE_CASE     (      __UpperCamelCase :						int = 10_00       ) ->       int:

				"""simple docstring"""







				return fibonacci_digits_index(__UpperCamelCase       )


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