



'''simple docstring'''
from math import floor, sqrt


def 	lowercase_						( lowerCAmelCase__						:	int			):

			"""simple docstring"""





			__UpperCAmelCase :   Any    					=  0.0
			__UpperCAmelCase :   Union[str, Any]    					=  1.0
			__UpperCAmelCase :   Tuple    					=  int(sqrt(lowerCAmelCase__			)			)
			__UpperCAmelCase :   Union[str, Any]    					=  root
			__UpperCAmelCase :   List[str]    					=  0
			while integer_part != 2 * root:
						__UpperCAmelCase :   Union[str, Any]    					=  denominator * integer_part - numerator
						__UpperCAmelCase :   str    					=  (n - numerator**2) / denominator
						__UpperCAmelCase :   Union[str, Any]    					=  int((root + numerator) / denominator			)
						period += 1
			return period


def 	lowercase_						( lowerCAmelCase__						:	int = 10000			):

			"""simple docstring"""





			__UpperCAmelCase :   Optional[int]    					=  0
			for i in range(2      ,				n + 1			):
						__UpperCAmelCase :   Tuple    					=  sqrt(lowerCAmelCase__			)
						if sr - floor(lowerCAmelCase__			) != 0 and continuous_fraction_period(lowerCAmelCase__			) % 2 == 1:
									count_odd_periods += 1
			return count_odd_periods


if __name__ == "__main__":
					print(F'{solution(int(input().strip()))}')









'''simple docstring'''
from .hash_table import HashTable



class _A	(     __SCREAMING_SNAKE_CASE     ):





		def __init__(  self			,							*__UpperCAmelCase			,							**__UpperCAmelCase					)							->  List[Any]:

					'''simple docstring'''
					super().__init__(*__UpperCAmelCase			,							**__UpperCAmelCase					)





		def 				__A							(  self			,							__UpperCAmelCase			,							__UpperCAmelCase=None					)							->  str:

					'''simple docstring'''
					__UpperCAmelCase :   List[str]    					=  1
					__UpperCAmelCase :   Optional[Any]    					=  self.hash_function(key + i * i					)

					while self.values[new_key] is not None and self.values[new_key] != key:
								i += 1
								__UpperCAmelCase :   str    					=  (
								    self.hash_function(key + i * i					)
								    if not self.balanced_factor() >= self.lim_charge
								    else None
								)

								if new_key is None:
											break

					return new_key




