






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

from tokenizers import processors

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


if is_sentencepiece_available():
				from .tokenization_mbartaa import MBartaaTokenizer
else:
				UpperCamelCase__						:      str								=					None


UpperCamelCase__						:      int								=					logging.get_logger(__name__)

UpperCamelCase__						:      Optional[int]								=					{"""vocab_file""": """sentencepiece.bpe.model""", """tokenizer_file""": """tokenizer.json"""}

UpperCamelCase__						:      Tuple								=					{
    """vocab_file""": {
        """facebook/mbart-large-50-one-to-many-mmt""": (
            """https://huggingface.co/facebook/mbart-large-50-one-to-many-mmt/resolve/main/sentencepiece.bpe.model"""
        ),
    },
    """tokenizer_file""": {
        """facebook/mbart-large-50-one-to-many-mmt""": (
            """https://huggingface.co/facebook/mbart-large-50-one-to-many-mmt/resolve/main/tokenizer.json"""
        ),
    },
}

UpperCamelCase__						:      Dict								=					{
    """facebook/mbart-large-50-one-to-many-mmt""": 1_024,
}

# fmt: off
UpperCamelCase__						:      Optional[int]								=					["""ar_AR""", """cs_CZ""", """de_DE""", """en_XX""", """es_XX""", """et_EE""", """fi_FI""", """fr_XX""", """gu_IN""", """hi_IN""", """it_IT""", """ja_XX""", """kk_KZ""", """ko_KR""", """lt_LT""", """lv_LV""", """my_MM""", """ne_NP""", """nl_XX""", """ro_RO""", """ru_RU""", """si_LK""", """tr_TR""", """vi_VN""", """zh_CN""", """af_ZA""", """az_AZ""", """bn_IN""", """fa_IR""", """he_IL""", """hr_HR""", """id_ID""", """ka_GE""", """km_KH""", """mk_MK""", """ml_IN""", """mn_MN""", """mr_IN""", """pl_PL""", """ps_AF""", """pt_XX""", """sv_SE""", """sw_KE""", """ta_IN""", """te_IN""", """th_TH""", """tl_XX""", """uk_UA""", """ur_PK""", """xh_ZA""", """gl_ES""", """sl_SI"""]







class 				lowerCamelCase_     (	a_     ):
							SCREAMING_SNAKE_CASE_						     =			VOCAB_FILES_NAMES
							SCREAMING_SNAKE_CASE_						     =			PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
							SCREAMING_SNAKE_CASE_						     =			PRETRAINED_VOCAB_FILES_MAP
							SCREAMING_SNAKE_CASE_						     =			['input_ids', 'attention_mask']
							SCREAMING_SNAKE_CASE_						     =			MBartaaTokenizer

							SCREAMING_SNAKE_CASE_						     =			[]
							SCREAMING_SNAKE_CASE_						     =			[]
							def __init__(						self		:					Optional[int]							,__lowerCamelCase		:					Dict=None							,__lowerCamelCase		:					Optional[int]=None							,__lowerCamelCase		:					Union[str, Any]=None							,__lowerCamelCase		:					str=None							,__lowerCamelCase		:					Optional[Any]="</s>"							,__lowerCamelCase		:					Optional[Any]="</s>"							,__lowerCamelCase		:					Optional[int]="<s>"							,__lowerCamelCase		:					Dict="<unk>"							,__lowerCamelCase		:					Optional[Any]="<pad>"							,__lowerCamelCase		:					List[Any]="<mask>"							,**__lowerCamelCase		:					Tuple							,):





								'''simple docstring'''



								a		=			AddedToken(__lowerCamelCase							,lstrip=__lowerCamelCase							,rstrip=__lowerCamelCase					) if isinstance(__lowerCamelCase							,__lowerCamelCase					) else mask_token

								a		=			kwargs.get('''additional_special_tokens'''							,[]					)
								kwargs["additional_special_tokens"] += [
								    code for code in FAIRSEQ_LANGUAGE_CODES if code not in kwargs["additional_special_tokens"]
								]

								super().__init__(
								    __lowerCamelCase							,src_lang=__lowerCamelCase							,tgt_lang=__lowerCamelCase							,tokenizer_file=__lowerCamelCase							,eos_token=__lowerCamelCase							,sep_token=__lowerCamelCase							,cls_token=__lowerCamelCase							,unk_token=__lowerCamelCase							,pad_token=__lowerCamelCase							,mask_token=__lowerCamelCase							,**__lowerCamelCase							,)

								a		=			vocab_file
								a		=			False if not self.vocab_file else True

								a		=			{
								    lang_code: self.convert_tokens_to_ids(__lowerCamelCase					) for lang_code in FAIRSEQ_LANGUAGE_CODES
								}

								a		=			src_lang if src_lang is not None else '''en_XX'''
								a		=			tgt_lang
								a		=			self.lang_code_to_id[self._src_lang]
								self.set_src_lang_special_tokens(self._src_lang					)
							@property
							def  SCREAMING_SNAKE_CASE_ (						self		:					Union[str, Any]					):





								'''simple docstring'''



								return self._src_lang
							@src_lang.setter
							def  SCREAMING_SNAKE_CASE_ (						self		:					List[Any]							,__lowerCamelCase		:					str					):





								'''simple docstring'''



								a		=			new_src_lang
								self.set_src_lang_special_tokens(self._src_lang					)
							def  SCREAMING_SNAKE_CASE_ (						self		:					Any							,__lowerCamelCase		:					List[int]							,__lowerCamelCase		:					Optional[List[int]] = None					):





								'''simple docstring'''



								if token_ids_a is None:
									return self.prefix_tokens + token_ids_a + self.suffix_tokens
								# We don't expect to process pairs, but leave the pair logic for API consistency
								return self.prefix_tokens + token_ids_a + token_ids_a + self.suffix_tokens
							def  SCREAMING_SNAKE_CASE_ (						self		:					List[str]							,__lowerCamelCase		:					List[str]							,__lowerCamelCase		:					str = "en_XX"							,__lowerCamelCase		:					Optional[List[str]] = None							,__lowerCamelCase		:					str = "ro_RO"							,**__lowerCamelCase		:					str							,):





								'''simple docstring'''



								a		=			src_lang
								a		=			tgt_lang
								return super().prepare_seqaseq_batch(__lowerCamelCase							,__lowerCamelCase							,**__lowerCamelCase					)
							def  SCREAMING_SNAKE_CASE_ (						self		:					List[Any]					):





								'''simple docstring'''



								return self.set_src_lang_special_tokens(self.src_lang					)
							def  SCREAMING_SNAKE_CASE_ (						self		:					Dict					):





								'''simple docstring'''



								return self.set_tgt_lang_special_tokens(self.tgt_lang					)
							def  SCREAMING_SNAKE_CASE_ (						self		:					Dict							,__lowerCamelCase		:					str					):





								'''simple docstring'''



								a		=			self.convert_tokens_to_ids(__lowerCamelCase					)
								a		=			[self.cur_lang_code_id]
								a		=			[self.eos_token_id]

								a		=			self.convert_ids_to_tokens(self.prefix_tokens					)
								a		=			self.convert_ids_to_tokens(self.suffix_tokens					)

								a		=			processors.TemplateProcessing(
								    single=prefix_tokens_str + ['''$A'''] + suffix_tokens_str							,pair=prefix_tokens_str + ['''$A''', '''$B'''] + suffix_tokens_str							,special_tokens=list(zip(prefix_tokens_str + suffix_tokens_str							,self.prefix_tokens + self.suffix_tokens					)					)							,)
							def  SCREAMING_SNAKE_CASE_ (						self		:					str							,__lowerCamelCase		:					str					):





								'''simple docstring'''



								a		=			self.convert_tokens_to_ids(__lowerCamelCase					)
								a		=			[self.cur_lang_code_id]
								a		=			[self.eos_token_id]

								a		=			self.convert_ids_to_tokens(self.prefix_tokens					)
								a		=			self.convert_ids_to_tokens(self.suffix_tokens					)

								a		=			processors.TemplateProcessing(
								    single=prefix_tokens_str + ['''$A'''] + suffix_tokens_str							,pair=prefix_tokens_str + ['''$A''', '''$B'''] + suffix_tokens_str							,special_tokens=list(zip(prefix_tokens_str + suffix_tokens_str							,self.prefix_tokens + self.suffix_tokens					)					)							,)
							def  SCREAMING_SNAKE_CASE_ (						self		:					Optional[Any]							,__lowerCamelCase		:					Optional[int]							,__lowerCamelCase		:					str							,__lowerCamelCase		:					Optional[str]							,__lowerCamelCase		:					Optional[str]							,**__lowerCamelCase		:					Any					):





								'''simple docstring'''



								if src_lang is None or tgt_lang is None:
									raise ValueError('''Translation requires a `src_lang` and a `tgt_lang` for this model'''					)
								a		=			src_lang
								a		=			self(__lowerCamelCase							,add_special_tokens=__lowerCamelCase							,return_tensors=__lowerCamelCase							,**__lowerCamelCase					)
								a		=			self.convert_tokens_to_ids(__lowerCamelCase					)
								a		=			tgt_lang_id
								return inputs




							def  SCREAMING_SNAKE_CASE_ (						self		:					str							,__lowerCamelCase		:					str							,__lowerCamelCase		:					Optional[str] = None					):





								'''simple docstring'''



								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
								a		=			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,)













UpperCamelCase__						:      Dict								=					10**8





def   SCREAMING_SNAKE_CASE__						(   snake_case_  )   ->  bool:


	"""simple docstring"""



	if n % 1_0 == 0:
		return False
	a		=			str(snake_case_  )
	return s == s[::-1]





def   SCREAMING_SNAKE_CASE__						(   )   ->  int:


	"""simple docstring"""



	a		=			set()
	a		=			1
	a		=			5
	while sum_squares < LIMIT:
		a		=			first_square + 1
		while sum_squares < LIMIT:
			if is_palindrome(snake_case_  ):
				answer.add(snake_case_  )
			last_square += 1
			sum_squares += last_square**2
		first_square += 1
		a		=			first_square**2 + (first_square + 1) ** 2

	return sum(snake_case_  )


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





