


'''simple docstring'''


import os
import unittest

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

from ...test_tokenization_common import TokenizerTesterMixin





class    lowercase__  (						_snake_case					,					unittest.TestCase ):





							'''simple docstring'''


							A_							:				Optional[int]				     =  BertweetTokenizer
							A_							:				List[str]				     =  False






							def UpperCAmelCase_     (   self  ):
											super().setUp()

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

											_SCREAMING_SNAKE_CASE			:	Tuple							=				os.path.join(self.tmpdirname   , VOCAB_FILES_NAMES["""vocab_file"""]  )
											_SCREAMING_SNAKE_CASE			:	Any							=				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(__snake_case  )  )






							def UpperCAmelCase_     (   self   , **__snake_case  ):
											kwargs.update(self.special_tokens_map  )
											return BertweetTokenizer.from_pretrained(self.tmpdirname   , **__snake_case  )






							def UpperCAmelCase_     (   self   , __snake_case  ):
											_SCREAMING_SNAKE_CASE			:	List[Any]							=				"""I am VinAI Research"""
											_SCREAMING_SNAKE_CASE			:	int							=				"""I <unk> m V<unk> <unk> <unk> I Re<unk> e<unk> <unk> <unk> <unk>"""
											return input_text, output_text






							def UpperCAmelCase_     (   self  ):
											_SCREAMING_SNAKE_CASE			:	List[Any]							=				BertweetTokenizer(self.vocab_file   , self.merges_file   , **self.special_tokens_map  )
											_SCREAMING_SNAKE_CASE			:	int							=				"""I am VinAI Research"""
											_SCREAMING_SNAKE_CASE			:	Dict							=				"""I a@@ m V@@ i@@ n@@ A@@ I R@@ e@@ s@@ e@@ a@@ r@@ c@@ h""".split()
											_SCREAMING_SNAKE_CASE			:	List[Any]							=				tokenizer.tokenize(__snake_case  )
											self.assertListEqual(__snake_case   , __snake_case  )

											_SCREAMING_SNAKE_CASE			:	Any							=				tokens + [tokenizer.unk_token]

											_SCREAMING_SNAKE_CASE			:	List[str]							=				[4, 3, 5, 6, 3, 3, 3, 4, 7, 9, 3, 9, 3, 3, 3, 3, 3]
											self.assertListEqual(tokenizer.convert_tokens_to_ids(__snake_case  )   , __snake_case  )








'''simple docstring'''


def       snake_case_       (  SCREAMING_SNAKE_CASE__ = 1000					):







				"""simple docstring"""





				_SCREAMING_SNAKE_CASE			:	Union[str, Any]							=				[0, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, 6, 8, 8, 7, 7, 9, 8, 8]
				# number of letters in twenty, thirty, ..., ninety (0 for numbers less than
				# 20 due to inconsistency in teens)
				_SCREAMING_SNAKE_CASE			:	str							=				[0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

				_SCREAMING_SNAKE_CASE			:	Any							=				0

				for i in range(1							,				n + 1					):
								if i < 1000:
												if i >= 100:
																# add number of letters for "n hundred"
																count += ones_counts[i // 100] + 7

																if i % 100 != 0:
																				# add number of letters for "and" if number is not multiple
																				# of 100
																				count += 3

												if 0 < i % 100 < 20:
																# add number of letters for one, two, three, ..., nineteen
																# (could be combined with below if not for inconsistency in
																# teens)
																count += ones_counts[i % 100]
												else:
																# add number of letters for twenty, twenty one, ..., ninety
																# nine
																count += ones_counts[i % 10]
																count += tens_counts[(i % 100 - i % 10) // 10]
								else:
												count += ones_counts[i // 1000] + 8
				return count


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




