




'''simple docstring'''

def __UpperCAmelCase	(   _UpperCAmelCase		:   int						)      ->      Tuple:
			__snake_case			=		1
			__snake_case			=		2
			while i * i <= n:
						__snake_case			=		0
						while n % i == 0:
									n //= i
									multiplicity += 1
						n_divisors *= multiplicity + 1
						i += 1
			if n > 1:
						n_divisors *= 2
			return n_divisors


def __UpperCAmelCase	(   )      ->      Tuple:
			__snake_case			=		1
			__snake_case			=		1

			while True:
						i += 1
						t_num += i

						if count_divisors(_UpperCAmelCase						) > 5_00:
									break

			return t_num


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








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_rembert import RemBertTokenizer
else:
      a_     :    int     		=   None

a_     :    List[Any]     		=   logging.get_logger(__name__)
a_     :    List[Any]     		=   {"vocab_file": "sentencepiece.model", "tokenizer_file": "tokenizer.json"}

a_     :    Optional[int]     		=   {
    "vocab_file": {
        "google/rembert": "https://huggingface.co/google/rembert/resolve/main/sentencepiece.model",
    },
    "tokenizer_file": {
        "google/rembert": "https://huggingface.co/google/rembert/resolve/main/tokenizer.json",
    },
}

a_     :    Union[str, Any]     		=   {
    "google/rembert": 256,
}

a_     :    List[Any]     		=   "▁"




class   UpperCamelCase			(  SCREAMING_SNAKE_CASE ):
    __UpperCamelCase    =VOCAB_FILES_NAMES
    __UpperCamelCase    =PRETRAINED_VOCAB_FILES_MAP
    __UpperCamelCase    =PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
    __UpperCamelCase    =RemBertTokenizer

    def __init__(      self			:   int				,     snake_case__			:   Any=None				,     snake_case__			:   Optional[Any]=None				,     snake_case__			:   Optional[int]=True				,     snake_case__			:   Any=True				,     snake_case__			:   Any=False				,     snake_case__			:   Dict="[CLS]"				,     snake_case__			:   List[str]="[SEP]"				,     snake_case__			:   List[str]="<unk>"				,     snake_case__			:   Union[str, Any]="[SEP]"				,     snake_case__			:   List[Any]="<pad>"				,     snake_case__			:   Tuple="[CLS]"				,     snake_case__			:   str="[MASK]"				,     **snake_case__			:   Union[str, Any]				,     ):

     """simple docstring"""






     SCREAMING_SNAKE_CASE		    =      AddedToken(snake_case__				,     lstrip=snake_case__				,     rstrip=snake_case__     ) if isinstance(snake_case__				,     snake_case__     ) else mask_token

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

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

    def UpperCamelCase      (      self			:   Tuple				,     snake_case__			:   List[int]				,     snake_case__			:   Optional[List[int]] = None     ):

     """simple docstring"""






     SCREAMING_SNAKE_CASE		    =      [self.sep_token_id]
     SCREAMING_SNAKE_CASE		    =      [self.cls_token_id]
     if token_ids_a is None:
      return cls + token_ids_a + sep
     return cls + token_ids_a + sep + token_ids_a + sep

    def UpperCamelCase      (      self			:   Tuple				,     snake_case__			:   List[int]				,     snake_case__			:   Optional[List[int]] = None				,     snake_case__			:   bool = False     ):

     """simple docstring"""






     if already_has_special_tokens:
      if token_ids_a is not None:
       raise ValueError(
           'You should not supply a second sequence if the provided sequence of '
           'ids is already formatted with special tokens for the model.'     )
      return [1 if x in [self.sep_token_id, self.cls_token_id] else 0 for x in token_ids_a]

     if token_ids_a is not None:
      return [1] + ([0] * len(snake_case__     )) + [1] + ([0] * len(snake_case__     )) + [1]
     return [1] + ([0] * len(snake_case__     )) + [1]

    def UpperCamelCase      (      self			:   int				,     snake_case__			:   List[int]				,     snake_case__			:   Optional[List[int]] = None     ):

     """simple docstring"""






     SCREAMING_SNAKE_CASE		    =      [self.sep_token_id]
     SCREAMING_SNAKE_CASE		    =      [self.cls_token_id]

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




    def UpperCamelCase      (      self			:   Dict				,     snake_case__			:   str				,     snake_case__			:   Optional[str] = None     ):

     """simple docstring"""






     if not os.path.isdir(snake_case__     ):
      logger.error('Vocabulary path ({}) should be a directory'.format(snake_case__     )     )
      return
     SCREAMING_SNAKE_CASE		    =      os.path.join(
         snake_case__				,     (filename_prefix + '-' if filename_prefix else '') + VOCAB_FILES_NAMES['vocab_file']     )

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

     return (out_vocab_file,)

