




from typing import Optional, Tuple

from ...tokenization_utils_fast import PreTrainedTokenizerFast
from ...utils import logging
from .tokenization_openai import OpenAIGPTTokenizer


UpperCamelCase								=     logging.get_logger(__name__)

UpperCamelCase								=     {'vocab_file': 'vocab.json', 'merges_file': 'merges.txt', 'tokenizer_file': 'tokenizer.json'}

UpperCamelCase								=     {
    'vocab_file': {'openai-gpt': 'https://huggingface.co/openai-gpt/resolve/main/vocab.json'},
    'merges_file': {'openai-gpt': 'https://huggingface.co/openai-gpt/resolve/main/merges.txt'},
    'tokenizer_file': {'openai-gpt': 'https://huggingface.co/openai-gpt/resolve/main/tokenizer.json'},
}

UpperCamelCase								=     {
    'openai-gpt': 512,
}





class  __lowerCamelCase       (    UpperCamelCase__    ):




    """simple docstring"""

    snake_case__					=      VOCAB_FILES_NAMES
    snake_case__					=      PRETRAINED_VOCAB_FILES_MAP
    snake_case__					=      PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
    snake_case__					=      ["input_ids", "attention_mask"]
    snake_case__					=      OpenAIGPTTokenizer


    def __init__(       self     :     Tuple   ,	SCREAMING_SNAKE_CASE__     :     List[str]=None   ,	SCREAMING_SNAKE_CASE__     :     Optional[int]=None   ,	SCREAMING_SNAKE_CASE__     :     Optional[Any]=None   ,	SCREAMING_SNAKE_CASE__     :     List[str]="<unk>"   ,	**SCREAMING_SNAKE_CASE__     :     str   )      ->       int:
         super().__init__(SCREAMING_SNAKE_CASE__   ,	SCREAMING_SNAKE_CASE__   ,	tokenizer_file=SCREAMING_SNAKE_CASE__   ,	unk_token=SCREAMING_SNAKE_CASE__   ,	**SCREAMING_SNAKE_CASE__   )


    @property
    def    a      (       self     :     List[Any]   )      ->       Optional[Any]:
         return True


    def    a      (       self     :     Optional[int]   ,	SCREAMING_SNAKE_CASE__     :     str   ,	SCREAMING_SNAKE_CASE__     :     Optional[str] = None   )      ->       Tuple[str]:
         lowerCAmelCase__		= self._tokenizer.model.save(SCREAMING_SNAKE_CASE__   ,	name=SCREAMING_SNAKE_CASE__   )
         return tuple(SCREAMING_SNAKE_CASE__   )






from math import floor, sqrt



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

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



def 							_A   (						lowerCAmelCase_     :					int = 1_0000			):
     """simple docstring"""

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