




'''simple docstring'''
import os
import unittest

from transformers.models.bertweet.tokenization_bertweet import VOCAB_FILES_NAMES, BertweetTokenizer

from ...test_tokenization_common import TokenizerTesterMixin






class 	SCREAMING_SNAKE_CASE(    lowerCAmelCase__       ,				unittest.TestCase					):
       snake_case_			:					List[Any]   = BertweetTokenizer
       snake_case_			:					Dict   = False

       def    snake_case__      (   self					)   -> Tuple:

           """simple docstring"""



           super().setUp()

           # Adapted from Sennrich et al. 2015 and https://github.com/rsennrich/subword-nmt
           __lowercase          =						['''I''', '''m''', '''V@@''', '''R@@''', '''r''', '''e@@''']
           __lowercase          =						dict(zip(_A ,		range(len(_A					)					)					)					)
           __lowercase          =						['''#version: 0.2''', '''a m</w>''']
           __lowercase          =						{'''unk_token''': '''<unk>'''}

           __lowercase          =						os.path.join(self.tmpdirname ,		VOCAB_FILES_NAMES["""vocab_file"""]					)
           __lowercase          =						os.path.join(self.tmpdirname ,		VOCAB_FILES_NAMES["""merges_file"""]					)
           with open(self.vocab_file ,		"""w""" ,		encoding="""utf-8"""					) as fp:
               for token in vocab_tokens:
                   fp.write(F'{token} {vocab_tokens[token]}\n'					)
           with open(self.merges_file ,		"""w""" ,		encoding="""utf-8"""					) as fp:
               fp.write("""\n""".join(_A					)					)

       def    snake_case__      (   self ,		**lowerCamelCase__					)   -> str:

           """simple docstring"""



           kwargs.update(self.special_tokens_map					)
           return BertweetTokenizer.from_pretrained(self.tmpdirname ,		**_A					)

       def    snake_case__      (   self ,		lowerCamelCase__					)   -> Tuple:

           """simple docstring"""



           __lowercase          =						'''I am VinAI Research'''
           __lowercase          =						'''I <unk> m V<unk> <unk> <unk> I Re<unk> e<unk> <unk> <unk> <unk>'''
           return input_text, output_text




       def    snake_case__      (   self					)   -> Tuple:

           """simple docstring"""



           __lowercase          =						BertweetTokenizer(self.vocab_file ,		self.merges_file ,		**self.special_tokens_map					)
           __lowercase          =						'''I am VinAI Research'''
           __lowercase          =						'''I a@@ m V@@ i@@ n@@ A@@ I R@@ e@@ s@@ e@@ a@@ r@@ c@@ h'''.split()
           __lowercase          =						tokenizer.tokenize(_A					)
           self.assertListEqual(_A ,		_A					)

           __lowercase          =						tokens + [tokenizer.unk_token]

           __lowercase          =						[4, 3, 5, 6, 3, 3, 3, 4, 7, 9, 3, 9, 3, 3, 3, 3, 3]
           self.assertListEqual(tokenizer.convert_tokens_to_ids(_A					) ,		_A					)










'''simple docstring'''
A							:				int			     =	(1, 153, 370, 371, 1_634, 24_678_051, 115_132_219_018_763_992_565_095_597_973_971_522_401)
A							:				tuple			     =	(-153, -1, 0, 1.2, 200, "A", [], {}, None)
def     snake_case_  (       a__		:     int      ):



    """simple docstring"""




    if not isinstance(a__   ,a__      ) or n < 1:
        return False

    # Initialization of sum and number of digits.
    __lowercase          =						0
    __lowercase          =						0
    __lowercase          =						n
    # Calculation of digits of the number
    while temp > 0:
        number_of_digits += 1
        temp //= 10
    # Dividing number into separate digits and find Armstrong number
    __lowercase          =						n
    while temp > 0:
        __lowercase          =						temp % 10
        total += rem**number_of_digits
        temp //= 10
    return n == total
def     snake_case_  (       a__		:     int      ):



    """simple docstring"""




    if not isinstance(a__   ,a__      ) or n < 1:
        return False

    # Init a "histogram" of the digits
    __lowercase          =						[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    __lowercase          =						0
    __lowercase          =						0
    __lowercase          =						n
    while temp > 0:
        __lowercase    ,__lowercase          =						divmod(a__   ,10      )
        digit_histogram[rem] += 1
        digit_total += 1

    for cnt, i in zip(a__   ,range(len(a__      )      )      ):
        total += cnt * i**digit_total

    return n == total
def     snake_case_  (       a__		:     int      ):



    """simple docstring"""




    if not isinstance(a__   ,a__      ) or n < 1:
        return False
    __lowercase          =						len(str(a__      )      )  # the power that all digits will be raised to
    # check if sum of each digit multiplied expo times is equal to number
    return n == sum(int(a__      ) ** expo for i in str(a__      )      )
def     snake_case_  (       ):



    """simple docstring"""




    __lowercase          =						int(input("""Enter an integer to see if it is an Armstrong number: """      ).strip()      )
    print(f'{num} is {"" if armstrong_number(a__      ) else "not "}an Armstrong number.'      )
    print(f'{num} is {"" if narcissistic_number(a__      ) else "not "}an Armstrong number.'      )
    print(f'{num} is {"" if pluperfect_number(a__      ) else "not "}an Armstrong number.'      )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  main()




