




'''simple docstring'''






def 		a_(			lowerCamelCase = 1000   )					->int:






       '''simple docstring'''




       lowercase	:		List[str]    =   [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	:		int    =   [0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

       lowercase	:		List[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())))










'''simple docstring'''






from __future__ import annotations

from collections.abc import Iterable, Iterator
from typing import Any, Generic, TypeVar

lowercase						:   Union[str, Any]      						=							TypeVar('''T''', bound=bool)

class 	SCREAMING_SNAKE_CASE_		(							Generic[T]					):



 def __init__(	self ,		A			):






        '''simple docstring'''




        lowercase	:		T    =   value
        lowercase	:		SkewNode[T] | None    =   None
        lowercase	:		SkewNode[T] | None    =   None



 @property
 def  SCREAMING_SNAKE_CASE(	self			):






        '''simple docstring'''




        return self._value





 @staticmethod
 def  SCREAMING_SNAKE_CASE(	A ,		A			):






        '''simple docstring'''




        if not roota:
               return roota

        if not roota:
               return roota

        if roota.value > roota.value:
               lowercase,  lowercase	:		Union[str, Any]    =   roota, roota

        lowercase	:		Optional[int]    =   roota
        lowercase	:		Tuple    =   roota.right
        lowercase	:		Union[str, Any]    =   roota.left
        lowercase	:		Any    =   SkewNode.merge(A ,		A			)

        return result






class 	SCREAMING_SNAKE_CASE_		(							Generic[T]					):



 def __init__(	self ,		A = ()			):






        '''simple docstring'''




        lowercase	:		SkewNode[T] | None    =   None
        if data:
               for item in data:
                      self.insert(A			)



 def __bool__(	self			):






        '''simple docstring'''




        return self._root is not None



 def __iter__(	self			):






        '''simple docstring'''




        lowercase	:		list[Any]    =   []
        while self:
               result.append(self.pop()			)

        # Pushing items back to the heap not to clear it.
        for item in result:
               self.insert(A			)

        return iter(A			)



 def  SCREAMING_SNAKE_CASE(	self ,		A			):






        '''simple docstring'''




        lowercase	:		List[str]    =   SkewNode.merge(self._root ,		SkewNode(A			)			)



 def  SCREAMING_SNAKE_CASE(	self			):






        '''simple docstring'''




        lowercase	:		List[Any]    =   self.top()
        lowercase	:		int    =   (
            SkewNode.merge(self._root.left ,		self._root.right			) if self._root else None
        )

        return result



 def  SCREAMING_SNAKE_CASE(	self			):






        '''simple docstring'''




        if not self._root:
               raise IndexError('''Can\'t get top element for the empty heap.'''			)
        return self._root.value





 def  SCREAMING_SNAKE_CASE(	self			):






        '''simple docstring'''




        lowercase	:		Optional[Any]    =   None


if __name__ == "__main__":
      import doctest

      doctest.testmod()




