



'''simple docstring'''

import copy

from transformers.configuration_utils import PretrainedConfig
from transformers.utils import logging


_A					:     int      =logging.get_logger(__name__)



class 		lowerCamelCase__   (    A  ):




					'''simple docstring'''



					A_         =    """hybrid-clip"""
					A_         =    True




					def __init__(	self					:						str  ,	UpperCamelCase_					:						List[str]=512  ,	**UpperCamelCase_					:						str       )	->							List[str]:



						'''simple docstring'''





						super().__init__(**UpperCamelCase_       )

						if "text_config" not in kwargs:
							raise ValueError('`text_config` can not be `None`.'       )

						if "vision_config" not in kwargs:
							raise ValueError('`vision_config` can not be `None`.'       )

						_lowercase       :							Optional[int]  	=		kwargs.pop('text_config'       )
						_lowercase       :							Optional[int]  	=		kwargs.pop('vision_config'       )

						_lowercase       :							Union[str, Any]  	=		text_config.pop('model_type'       )
						_lowercase       :							Tuple  	=		vision_config.pop('model_type'       )

						from transformers import AutoConfig

						_lowercase       :							List[str]  	=		AutoConfig.for_model(UpperCamelCase_  ,	**UpperCamelCase_       )

						if vision_model_type == "clip":
							_lowercase       :							Any  	=		AutoConfig.for_model(UpperCamelCase_  ,	**UpperCamelCase_       ).vision_config
						elif vision_model_type == "clip_vision_model":
							from transformers import CLIPVisionConfig

							_lowercase       :							Union[str, Any]  	=		CLIPVisionConfig(**UpperCamelCase_       )
						else:
							_lowercase       :							Tuple  	=		AutoConfig.for_model(UpperCamelCase_  ,	**UpperCamelCase_       )

						_lowercase       :							Optional[int]  	=		projection_dim
						_lowercase       :							Any  	=		1.0




					@classmethod
					def     __UpperCAmelCase  (	cls					:						List[str]  ,	UpperCamelCase_					:						PretrainedConfig  ,	UpperCamelCase_					:						PretrainedConfig  ,	**UpperCamelCase_					:						int       )	->							List[str]:



						'''simple docstring'''





						return cls(text_config=text_config.to_dict()  ,	vision_config=vision_config.to_dict()  ,	**UpperCamelCase_       )




					def     __UpperCAmelCase  (	self					:						List[str]       )	->							int:



						'''simple docstring'''





						_lowercase       :							int  	=		copy.deepcopy(self.__dict__       )
						_lowercase       :							Any  	=		self.text_config.to_dict()
						_lowercase       :							Dict  	=		self.vision_config.to_dict()
						_lowercase       :							Optional[Any]  	=		self.__class__.model_type
						return output





'''simple docstring'''

def     __UpperCamelCase					(				_lowercase = 1000       )			->      int:
	_lowercase       :							Optional[int]  	=		[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)
	_lowercase       :							List[Any]  	=		[0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

	_lowercase       :							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())))
