

from __future__ import annotations







def _a			(	SCREAMING_SNAKE_CASE		:      str   , SCREAMING_SNAKE_CASE		:      dict[str, str]		)   ->   str:

 """simple docstring"""






 __lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase:       Optional[Any]            =				'', '', ''
 __lowerCAmelCase:       Tuple            =				[]

 for character in message_part:
  tmp.append(character_to_number[character]		)

 for each in tmp:
  one += each[0]
  two += each[1]
  three += each[2]

 return one + two + three







def _a			(	SCREAMING_SNAKE_CASE		:      str   , SCREAMING_SNAKE_CASE		:      dict[str, str]		)   ->   tuple[str, str, str]:

 """simple docstring"""






 __lowerCAmelCase     ,							__lowerCAmelCase:       Optional[int]            =				'', ''
 __lowerCAmelCase:       Optional[int]            =				[]

 for character in message_part:
  this_part += character_to_number[character]

 for digit in this_part:
  tmp += digit
  if len(SCREAMING_SNAKE_CASE		) == len(SCREAMING_SNAKE_CASE		):
   result.append(SCREAMING_SNAKE_CASE		)
   __lowerCAmelCase:       List[str]            =				''

 return result[0], result[1], result[2]







def _a			(	SCREAMING_SNAKE_CASE		:      str   , SCREAMING_SNAKE_CASE		:      str		)   ->   tuple[str, str, dict[str, str], dict[str, str]]:

 """simple docstring"""






 __lowerCAmelCase:       Optional[Any]            =				alphabet.replace(' '   , ''		).upper()
 __lowerCAmelCase:       str            =				message.replace(' '   , ''		).upper()

 # Check length and characters
 if len(SCREAMING_SNAKE_CASE		) != 27:
  raise KeyError('Length of alphabet has to be 27.'		)
 for each in message:
  if each not in alphabet:
   raise ValueError('Each message character has to be included in alphabet!'		)

    # Generate dictionares
 __lowerCAmelCase:       List[str]            =				(
     '111',
     '112',
     '113',
     '121',
     '122',
     '123',
     '131',
     '132',
     '133',
     '211',
     '212',
     '213',
     '221',
     '222',
     '223',
     '231',
     '232',
     '233',
     '311',
     '312',
     '313',
     '321',
     '322',
     '323',
     '331',
     '332',
     '333',
 )
 __lowerCAmelCase:       Any            =				{}
 __lowerCAmelCase:       int            =				{}
 for letter, number in zip(SCREAMING_SNAKE_CASE   , SCREAMING_SNAKE_CASE		):
  __lowerCAmelCase:       Optional[int]            =				number
  __lowerCAmelCase:       Optional[Any]            =				letter

 return message, alphabet, character_to_number, number_to_character







def _a			(	SCREAMING_SNAKE_CASE		:      str   , SCREAMING_SNAKE_CASE		:      str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ."   , SCREAMING_SNAKE_CASE		:      int = 5		)   ->   str:

 """simple docstring"""






 __lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase:       List[Any]            =				__prepare(
     SCREAMING_SNAKE_CASE   , SCREAMING_SNAKE_CASE		)
 __lowerCAmelCase     ,							__lowerCAmelCase:       Dict            =				'', ''

 for i in range(0   , len(SCREAMING_SNAKE_CASE		) + 1   , SCREAMING_SNAKE_CASE		):
  encrypted_numeric += __encrypt_part(
      message[i : i + period]   , SCREAMING_SNAKE_CASE		)

 for i in range(0   , len(SCREAMING_SNAKE_CASE		)   , 3		):
  encrypted += number_to_character[encrypted_numeric[i : i + 3]]

 return encrypted







def _a			(	SCREAMING_SNAKE_CASE		:      str   , SCREAMING_SNAKE_CASE		:      str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ."   , SCREAMING_SNAKE_CASE		:      int = 5		)   ->   str:

 """simple docstring"""






 __lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase:       int            =				__prepare(
     SCREAMING_SNAKE_CASE   , SCREAMING_SNAKE_CASE		)
 __lowerCAmelCase:       Tuple            =				[]
 __lowerCAmelCase:       str            =				''

 for i in range(0   , len(SCREAMING_SNAKE_CASE		) + 1   , SCREAMING_SNAKE_CASE		):
  __lowerCAmelCase     ,							__lowerCAmelCase     ,							__lowerCAmelCase:       int            =				__decrypt_part(message[i : i + period]   , SCREAMING_SNAKE_CASE		)

  for j in range(0   , len(SCREAMING_SNAKE_CASE		)		):
   decrypted_numeric.append(a[j] + b[j] + c[j]		)

 for each in decrypted_numeric:
  decrypted += number_to_character[each]

 return decrypted


if __name__ == "__main__":
  _a			=       '''DEFEND THE EAST WALL OF THE CASTLE.'''
  _a			=       encrypt_message(msg, '''EPSDUCVWYM.ZLKXNBTFGORIJHAQ''')
  _a			=       decrypt_message(encrypted, '''EPSDUCVWYM.ZLKXNBTFGORIJHAQ''')
  print(f"Encrypted: {encrypted}\nDecrypted: {decrypted}")








def _a			(	SCREAMING_SNAKE_CASE		:      int = 10_00		)   ->   int:

 """simple docstring"""






 __lowerCAmelCase:       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)
 __lowerCAmelCase:       Union[str, Any]            =				[0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

 __lowerCAmelCase:       Optional[int]            =				0

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

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

   if 0 < i % 1_00 < 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 % 1_00]
   else:
    # add number of letters for twenty, twenty one, ..., ninety
    # nine
    count += ones_counts[i % 10]
    count += tens_counts[(i % 1_00 - i % 10) // 10]
  else:
   count += ones_counts[i // 10_00] + 8
 return count


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





