





from .balanced_parentheses import balanced_parentheses
from .stack import Stack

def     UpperCAmelCase_						(						_UpperCAmelCase       :List[str]							)  ->							int:
     '''simple docstring'''


     return {"+": 1, "-": 1, "*": 2, "/": 2, "^": 3}.get(_UpperCAmelCase     ,	-1							)

def     UpperCAmelCase_						(						_UpperCAmelCase       :List[str]							)  ->							str:
     '''simple docstring'''


     if not balanced_parentheses(_UpperCAmelCase							):
          raise ValueError('''Mismatched parentheses'''							)
     A_					      =  Stack()
     A_					      =  []
     for char in expression_str:
          if char.isalpha() or char.isdigit():
               postfix.append(_UpperCAmelCase							)
          elif char == "(":
               stack.push(_UpperCAmelCase							)
          elif char == ")":
               while not stack.is_empty() and stack.peek() != "(":
                    postfix.append(stack.pop()							)
               stack.pop()
          else:
               while not stack.is_empty() and precedence(_UpperCAmelCase							) <= precedence(stack.peek()							):
                    postfix.append(stack.pop()							)
               stack.push(_UpperCAmelCase							)
     while not stack.is_empty():
          postfix.append(stack.pop()							)
     return " ".join(_UpperCAmelCase							)


if __name__ == "__main__":
      from doctest import testmod

      testmod()
      a__			:    Any			      =		'a+b*(c^d-e)^(f+g*h)-i'

      print('Infix to Postfix Notation demonstration:\n')
      print('Infix notation: ' + expression)
      print('Postfix notation: ' + infix_to_postfix(expression))










def     UpperCAmelCase_						(						_UpperCAmelCase       :int = 1000							)  ->							int:
     '''simple docstring'''


     A_					      =					[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)
     A_					      =					[0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

     A_					      =					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())))



