


import os
from shutil import copyfile
from typing import List, Optional, Tuple

from ...tokenization_utils import AddedToken
from ...tokenization_utils_fast import PreTrainedTokenizerFast
from ...utils import is_sentencepiece_available, logging


if is_sentencepiece_available():
							from .tokenization_xlnet import XLNetTokenizer
else:
							UpperCAmelCase__						:			int									=None


UpperCAmelCase__						:			Optional[int]									=logging.get_logger(__name__)

UpperCAmelCase__						:			int									={"vocab_file": "spiece.model", "tokenizer_file": "tokenizer.json"}

UpperCAmelCase__						:			Tuple									={
    "vocab_file": {
        "xlnet-base-cased": "https://huggingface.co/xlnet-base-cased/resolve/main/spiece.model",
        "xlnet-large-cased": "https://huggingface.co/xlnet-large-cased/resolve/main/spiece.model",
    },
    "tokenizer_file": {
        "xlnet-base-cased": "https://huggingface.co/xlnet-base-cased/resolve/main/tokenizer.json",
        "xlnet-large-cased": "https://huggingface.co/xlnet-large-cased/resolve/main/tokenizer.json",
    },
}

UpperCAmelCase__						:			Dict									={
    "xlnet-base-cased": None,
    "xlnet-large-cased": None,
}

UpperCAmelCase__						:			List[Any]									="▁"

# Segments (not really needed)
UpperCAmelCase__						:			Tuple									=0
UpperCAmelCase__						:			int									=1
UpperCAmelCase__						:			Dict									=2
UpperCAmelCase__						:			List[str]									=3
UpperCAmelCase__						:			Optional[Any]									=4

class       __A     (						lowercase__    ):
				__A      =				VOCAB_FILES_NAMES
				__A      =				PRETRAINED_VOCAB_FILES_MAP
				__A      =				PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
				__A      =				"""left"""
				__A      =				XLNetTokenizer


				def __init__(		self   , UpperCAmelCase_=None   , UpperCAmelCase_=None   , UpperCAmelCase_=False   , UpperCAmelCase_=True   , UpperCAmelCase_=False   , UpperCAmelCase_="<s>"   , UpperCAmelCase_="</s>"   , UpperCAmelCase_="<unk>"   , UpperCAmelCase_="<sep>"   , UpperCAmelCase_="<pad>"   , UpperCAmelCase_="<cls>"   , UpperCAmelCase_="<mask>"   , UpperCAmelCase_=["<eop>", "<eod>"]   , **UpperCAmelCase_   , ):
								lowerCamelCase	 =AddedToken(__lowerCamelCase   , lstrip=__lowerCamelCase   , rstrip=__lowerCamelCase							) if isinstance(__lowerCamelCase   , __lowerCamelCase							) else mask_token

								super().__init__(
								    vocab_file=__lowerCamelCase   , tokenizer_file=__lowerCamelCase   , do_lower_case=__lowerCamelCase   , remove_space=__lowerCamelCase   , keep_accents=__lowerCamelCase   , bos_token=__lowerCamelCase   , eos_token=__lowerCamelCase   , unk_token=__lowerCamelCase   , sep_token=__lowerCamelCase   , pad_token=__lowerCamelCase   , cls_token=__lowerCamelCase   , mask_token=__lowerCamelCase   , additional_special_tokens=__lowerCamelCase   , **__lowerCamelCase   , )

								lowerCamelCase	 =3
								lowerCamelCase	 =do_lower_case
								lowerCamelCase	 =remove_space
								lowerCamelCase	 =keep_accents
								lowerCamelCase	 =vocab_file
								lowerCamelCase	 =False if not self.vocab_file else True


				def _snake_case       (		self   , UpperCAmelCase_   , UpperCAmelCase_ = None							):
								lowerCamelCase	 =[self.sep_token_id]
								lowerCamelCase	 =[self.cls_token_id]
								if token_ids_a is None:
												return token_ids_a + sep + cls
								return token_ids_a + sep + token_ids_a + sep + cls


				def _snake_case       (		self   , UpperCAmelCase_   , UpperCAmelCase_ = None							):
								lowerCamelCase	 =[self.sep_token_id]
								lowerCamelCase	 =[2]

								if token_ids_a is None:
												return len(token_ids_a + sep							) * [0] + cls_segment_id
								return len(token_ids_a + sep							) * [0] + len(token_ids_a + sep							) * [1] + cls_segment_id


				def _snake_case       (		self   , UpperCAmelCase_   , UpperCAmelCase_ = None							):



								if not self.can_save_slow_tokenizer:
												raise ValueError(
												    """Your fast tokenizer does not have the necessary information to save the vocabulary for a slow """
												    """tokenizer."""							)

								if not os.path.isdir(__lowerCamelCase							):
												logger.error(f"""Vocabulary path ({save_directory}) should be a directory"""							)
												return
								lowerCamelCase	 =os.path.join(
								    __lowerCamelCase   , (filename_prefix + """-""" if filename_prefix else """""") + VOCAB_FILES_NAMES["""vocab_file"""]							)

								if os.path.abspath(self.vocab_file							) != os.path.abspath(__lowerCamelCase							):
												copyfile(self.vocab_file   , __lowerCamelCase							)

								return (out_vocab_file,)












from math import sqrt





def      _lowercase					(						_UpperCAmelCase				)						->  int:
				lowerCamelCase	 =0
				for i in range(1			,      int(sqrt(_UpperCAmelCase				) + 1				)				):
								if n % i == 0 and i != sqrt(_UpperCAmelCase				):
												total += i + n // i
								elif i == sqrt(_UpperCAmelCase				):
												total += i
				return total - n





def      _lowercase					(						_UpperCAmelCase = 1_00_00				)						->  int:
				lowerCamelCase	 =sum(
				    i
				    for i in range(1			,      _UpperCAmelCase				)
				    if sum_of_divisors(sum_of_divisors(_UpperCAmelCase				)				) == i and sum_of_divisors(_UpperCAmelCase				) != i				)
				return total


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





