




from sklearn.neural_network import MLPClassifier

UpperCamelCase								=     [[0.0, 0.0], [1.0, 1.0], [1.0, 0.0], [0.0, 1.0]]
UpperCamelCase								=     [0, 1, 0, 0]


UpperCamelCase								=     MLPClassifier(
    solver='lbfgs', alpha=1E-5, hidden_layer_sizes=(5, 2), random_state=1
)

clf.fit(X, y)


UpperCamelCase								=     [[0.0, 0.0], [0.0, 1.0], [1.0, 1.0]]
UpperCamelCase								=     clf.predict(test)



def 							_A   (						lowerCAmelCase_     :					Dict			):
     """simple docstring"""

     return list(lowerCAmelCase_			)


if __name__ == "__main__":
     import doctest

     doctest.testmod()


"""simple docstring"""

from math import floor, sqrt




def 			lowercase__  (    lowerCAmelCase :    int       )       ->					int:






    """simple docstring"""




    UpperCAmelCase  	=    0.0
    UpperCAmelCase  	=    1.0
    UpperCAmelCase  	=    int(sqrt(lowerCAmelCase       )       )
    UpperCAmelCase  	=    root
    UpperCAmelCase  	=    0
    while integer_part != 2 * root:
        UpperCAmelCase  	=    denominator * integer_part - numerator
        UpperCAmelCase  	=    (n - numerator**2) / denominator
        UpperCAmelCase  	=    int((root + numerator) / denominator       )
        period += 1
    return period




def 			lowercase__  (    lowerCAmelCase :    int = 10_000       )       ->					int:






    """simple docstring"""




    UpperCAmelCase  	=    0
    for i in range(2       , n + 1       ):
        UpperCAmelCase  	=    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()))}')



