






"""simple docstring"""



import os

# Precomputes a list of the 100 first triangular numbers
__A		:       int  				=		[int(0.5 * n * (n + 1)) for n in range(1, 101)]



def 						lowercase    (				):
		lowercase_ : Optional[Any]							       =   os.path.dirname(os.path.realpath(__snake_case	)	)
		lowercase_ : int							       =   os.path.join(__snake_case		,					'''words.txt'''	)

		lowercase_ : Tuple							       =   ''''''
		with open(__snake_case	) as f:
				lowercase_ : Union[str, Any]							       =   f.readline()

		lowercase_ : Any							       =   [word.strip('''"'''	) for word in words.strip('''\r\n'''	).split(''','''	)]
		lowercase_ : Optional[int]							       =   [
		    word
		    for word in [sum(ord(__snake_case	) - 6_4 for x in word	) for word in words]
		    if word in TRIANGULAR_NUMBERS
		]
		return len(__snake_case	)


if __name__ == "__main__":
						print(solution())











"""simple docstring"""



def 						lowercase    (				__snake_case				: int	):
		if n == 1 or not isinstance(__snake_case		,					__snake_case	):
				return 0
		elif n == 2:
				return 1
		else:
				lowercase_ : Dict							       =   [0, 1]
				for i in range(2		,					n + 1	):
						sequence.append(sequence[i - 1] + sequence[i - 2]	)

				return sequence[n]



def 						lowercase    (				__snake_case				: int	):
		lowercase_ : str							       =   0
		lowercase_ : List[str]							       =   2

		while digits < n:
				index += 1
				lowercase_ : Any							       =   len(str(fibonacci(__snake_case	)	)	)

		return index



def 						lowercase    (				__snake_case				: int = 1_0_0_0	):
		return fibonacci_digits_index(__snake_case	)


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



