"""simple docstring"""




import numpy as np







def 				_UpperCAmelCase		(							lowerCamelCase__      ,	lowerCamelCase__      ,	lowerCamelCase__      ,	lowerCamelCase__      ,	lowerCamelCase__  ):





		"""simple docstring"""




		lowerCAmelCase__   = int(np.ceil((x_end - xa) / h  )  )
		lowerCAmelCase__   = np.zeros((n + 1,)  )
		lowerCAmelCase__   = ya
		lowerCAmelCase__   = xa

		for k in range(lowerCamelCase__  ):
				lowerCAmelCase__   = f(lowerCamelCase__      ,	y[k]  )
				lowerCAmelCase__   = f(x + 0.5 * h      ,	y[k] + 0.5 * h * ka  )
				lowerCAmelCase__   = f(x + 0.5 * h      ,	y[k] + 0.5 * h * ka  )
				lowerCAmelCase__   = f(x + h      ,	y[k] + h * ka  )
				lowerCAmelCase__   = y[k] + (1 / 6) * h * (ka + 2 * ka + 2 * ka + ka)
				x += h

		return y


if __name__ == "__main__":
			import doctest

			doctest.testmod()





"""simple docstring"""




from collections.abc import Generator







def 				_UpperCAmelCase		(							):





		"""simple docstring"""




		lowerCAmelCase__ ,       lowerCAmelCase__   = 0, 1
		while True:
				lowerCAmelCase__ ,       lowerCAmelCase__   = b, a + b
				yield b







def 				_UpperCAmelCase		(							lowerCamelCase__ = 1000  ):





		"""simple docstring"""




		lowerCAmelCase__   = 1
		lowerCAmelCase__   = fibonacci_generator()
		while len(str(next(lowerCamelCase__  )  )  ) < n:
				answer += 1
		return answer + 1


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




